python的一个小问题。。

def multi(*p):
result=1
for i in p:
result=result*(p)
return result
n=int(input("输入一个数字"))
multi(n)

 result = result * i

看起来你的问题像是这个,只不过如果只输入一个数字,用可变参数做什么。。。

首先,在这里,要理解到,用*可变参数处理,其实会封装成一个元组合。
在我写了关于你这个问题的解答,并做了更深的探讨,有兴趣可以点这个链接

def multi(*p) *
for i in p:

你是想多个参数赋值给i的话,result=result*(p) 应该改成result=result i