首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python中的返回外部函数错误

Python中的返回外部函数错误
EN

Stack Overflow用户
提问于 2013-02-18 02:59:11
回答 5查看 127.4K关注 0票数 5

这就是问题所在:给定以下Python程序,假设用户从键盘输入数字4。返回值是什么?

代码语言:javascript
复制
N = int(input("enter a positive integer:"))
counter = 1
while (N > 0):
    counter = counter * N
    N = N - 1
    return counter

然而,当我运行系统时,我仍然得到一个外部函数错误,我做错了什么?谢谢!

EN

回答 5

Stack Overflow用户

发布于 2013-02-18 03:01:31

您只能从函数内部返回,而不能从循环返回。

看起来您的返回应该在while循环之外,并且您的完整代码应该在一个函数中。

代码语言:javascript
复制
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()

如果这些代码不在函数中,那么您根本不需要return。只需在while loop外部打印counter的值。

票数 8
EN

Stack Overflow用户

发布于 2013-02-18 02:59:54

您有一个不在函数中的return语句。函数由def关键字启动:

代码语言:javascript
复制
def function(argument):
    return "something"

print function("foo")  #prints "something"

return在函数之外没有任何意义,因此python会抛出一个错误。

票数 4
EN

Stack Overflow用户

发布于 2018-07-29 06:08:20

您没有在任何函数中编写代码,您只能从函数返回。删除return语句,只打印您想要的值。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14924820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档