import math
num=eval(input())
if num>=0:
sum=math.factorial(num)
print(" %d 的阶乘为 %d" % (num,sum))
else:
print("抱歉,负数没有阶乘")
运行与示例一致,但解答错误,有没有朋友可以告知哪里有问题啊
def fac(n):
if n < 0:
return "抱歉,负数没有阶乘"
else:
su = 1
for i in range(1,n+1):
su*=i
return " %d 的阶乘为 %d" % (n,su)
print(fac(eval(input())))
试试这个能否过关:
num = eval(input())
res = 1
if num<0:
print("抱歉,负数没有阶乘")
else:
for i in range(num):
res *= i+1
print("%d 的阶乘为 %d" % (num, res))
num=eval(input())
fact = 1
if num>=0:
for i in range(num):
fact *= i + 1
print("%d 的阶乘为 %d" % (num, fact))
else:
print("抱歉,负数没有阶乘")