这就是问题所在:给定以下 Python 程序,假设用户从键盘输入数字 4。返回的值是多少?
N = int(input("enter a positive integer:"))
counter = 1
while (N > 0):
counter = counter * N
N = N - 1
return counter
然而,当我运行系统时,我不断收到外部函数错误我做错了什么?谢谢!
您只能从函数内部返回,而不能从循环中返回。
看起来您的 return 应该在 while 循环之外,而您的完整代码应该在函数内。
def func():
N = int(input("enter a positive integer:"))
counter = 1
while (N > 0):
counter = counter * N
N -= 1
return counter # de-indent this 4 spaces to the left.
print func()
如果这些代码不在函数内部,那么您根本不需要 a return
。只需counter
打印while loop
.
您有一个return
不在函数中的语句。函数由def
关键字启动:
def function(argument):
return "something"
print function("foo") #prints "something"
return
在函数之外没有任何意义,因此 python 会引发错误。
您不是在任何函数中编写代码,您只能从函数返回。删除 return 语句,只打印你想要的值。
正如其他贡献者已经解释的那样,您可以打印出计数器,然后将 return 替换为 break 语句。
N = int(input("enter a positive integer:"))
counter = 1
while (N > 0):
counter = counter * N
N = N - 1
print(counter)
break
当您从循环返回时,它基本上会发生,您只能从函数返回