我的代码应该接受输入,然后将阶乘输出到输入的数字
例如,如果输入为8,则输出为1,2,6,24,120,720,5040,40320。
我认为我为此设置了正确的功能,但是我只是得到了一个无穷无尽的负面循环。
limit=input('enter a value for limit:')
limit=int(limit)
ctr=0
factorial=1
while ctr < (limit):
print (ctr, end=' ')
factorial=factorial*ctr
ctr=ctr-1
print("limit =", limit)
答案 0 :(得分:0)
此代码中有一些问题:
ctr
而不是factorial
?ctr = ctr + 1
factorial
将为0,因为您在第一次迭代时将阶乘乘以0。这是一个应该有效的代码:
limit=input('enter a value for limit:')
limit=int(limit)
ctr=1
factorial=1
while ctr <= limit:
factorial=factorial*ctr
print (factorial, end=' ')
ctr=ctr+1