Python Can';我不知道如何计算用户输入的整数到阶乘
我在九月份开始了一门Python入门课程,我几乎跟不上。这周的作业让我感到很苦恼。我得到了老师的帮助,所以我有点理解了,但这对我来说并不合适。这周我做了很多修改,所以我的代码看起来比以前更好了,但我仍然不明白我做错了什么 它不是为n创建阶乘,而是将n显示为用户的输入值。我尝试在不同的行上输入阶乘(n),它只会给我一个EOF错误。有人能解释一下我做错了什么吗?我认为我需要调用阶乘函数,但我似乎无法正确格式化它Python Can';我不知道如何计算用户输入的整数到阶乘,python,python-3.x,factorial,Python,Python 3.x,Factorial,我在九月份开始了一门Python入门课程,我几乎跟不上。这周的作业让我感到很苦恼。我得到了老师的帮助,所以我有点理解了,但这对我来说并不合适。这周我做了很多修改,所以我的代码看起来比以前更好了,但我仍然不明白我做错了什么 它不是为n创建阶乘,而是将n显示为用户的输入值。我尝试在不同的行上输入阶乘(n),它只会给我一个EOF错误。有人能解释一下我做错了什么吗?我认为我需要调用阶乘函数,但我似乎无法正确格式化它 def factorial(n): if n==0: retur
def factorial(n):
if n==0:
return 1
else:
recurse = factorial(n-1)
result = n * recurse
return result
done=False
while not done:
n=input('Enter a Positive Integer \n>>>')
try:
n=int(n)
if n>=0:
done=True
except:
print('try again')
print('n is ', n)
为了得到n的阶乘,需要调用函数。 例如:res=factorial(n)简单修复
def factorial(n):
if n==0:
return 1
else:
recurse = factorial(n-1)
result = n * recurse
return result
done=False
while not done:
n=input('Enter a Positive Integer \n>>>')
try:
n=int(n)
if n>=0:
done=True
except:
print('try again')
print('n is ', factorial(n))
你说你“尝试过在不同的行上输入阶乘(n)”-你能给我们举一个你认为最有可能成功的尝试的例子吗?这给了你什么结果?你期望什么?这回答了你的问题吗?好的,谢谢。我只是没有在print语句中应用函数,我对python还是非常陌生。新手出错请不要将
factorial()
函数调用的结果存储在名为factorial
的变量中!