我写了这段python代码,但每次它';让我们给我一个错误的答案

我写了这段python代码,但每次它';让我们给我一个错误的答案,python,Python,我为计算第一个自然数的乘积编写了这段代码,但每次都会显示答案1。我不知道我哪里做错了??你能帮我找出这个密码中的错误吗 num = 10 i = 0 prod = 1 while i<=num: i = i+1 prod*prod*i print(prod) num=10 i=0 prod=1 当i而不是prod*prod*iwriteprod=prod*i时,我们首先输入项数。然后我们迭代for循环,将x的值乘以初始值(=1)。然后我们将新值分配给p n=int(i

我为计算第一个自然数的乘积编写了这段代码,但每次都会显示答案1。我不知道我哪里做错了??你能帮我找出这个密码中的错误吗

num = 10

i = 0
prod = 1
while i<=num:
    i = i+1
    prod*prod*i

print(prod)
num=10
i=0
prod=1

当i而不是
prod*prod*i
write
prod=prod*i
时,我们首先输入项数。然后我们迭代for循环,将x的值乘以初始值(=1)。然后我们将新值分配给p

n=int(input('Terms: ')) #specifing the limit
p=1
for x in range(1,n+1):
    p=p*x
    print(p)

问题似乎在线路上
prod*prod*i
。产品需要累积,为此,应将其交换为
prod*=i

新代码段是:

num = 10
i = 0
prod = 1
while i<=num:
    print(i)
    i = i+1
    prod*=i

print(prod)
num=10
i=0
prod=1

而我
prod*prod*i
什么都不做。您是否想要
prod=prod*i
?虽然此代码可能会提供问题的解决方案,但最好添加有关其工作原因/方式的上下文。这可以帮助未来的用户学习,并将这些知识应用到他们自己的代码中。在解释代码时,用户可能会以投票的形式给予您积极的反馈。我在这里没有提供太多细节,因为我假设这是一个非常基本的问题。但是如果需要,我会更新我的答案OK,这只是一个建议