lovemt 发表于 2020-9-20 23:00:29

计算阶乘

y=1
temp=input('你输入你想计算的阶乘')
num=int(temp)
for x in range(num):
   y=y*x
print(y)
这串代码为什么不能计算我输入的任意整数的阶乘呢
希望有大佬帮忙指正
我运行过后不管输入什么数结果都是0,不明白为什么

baige 发表于 2020-9-20 23:02:29


y=1
temp=input('你输入你想计算的阶乘')
num=int(temp)
for x in range(1,num+1):
    y=y*x
print(y)

baige 发表于 2020-9-20 23:03:00

你的循环是从0到num-1

qin_yin 发表于 2020-9-21 00:07:22

你range这个函数生成是0到你输入的那个数的范围,假如输入3那么,range函数生成的0,1,2,既0到3的范围,不包括3,从0开始计算,不包括3,第一个数是0,0乘以任何数都得0,二楼已经给出正确写法了

影响力 发表于 2020-9-21 22:21:33

range循环的第一个数字是0,所以怎么算都是0
页: [1]
查看完整版本: 计算阶乘