首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >函数在定义提示消息时打印该提示消息。

函数在定义提示消息时打印该提示消息。
EN

Stack Overflow用户
提问于 2014-08-29 03:17:54
回答 1查看 2.9K关注 0票数 2

我正在使用Python3.41。

如果我正确理解以下线程,Why is this def function not being executed in Python?中定义函数将存储函数,除非调用它,否则不会执行它。我说的对吗?

我想搜索一个数字的除数列表,把它存储在一个元组中,然后打印出来。

我首先写到,

代码语言:javascript
运行
复制
if x < 0:
    print ('not positive')
else:
    div = ()
    for i in range(1, x):
        if x%i == 0:
            div = div + (i,)
    print (div)

这个很管用。

现在我想把它作为一个更大的代码的函数。这是我试过的密码。

代码语言:javascript
运行
复制
def find_dt(x = int(input('enter a positive number '))):
    if x < 0:
        print ('not positive')
    else:
        div = ()
        for i in range(1, x):
            if x%i == 0:
                div = div + (i,)
        print (div)

当我执行此操作时,它会在程序窗口中打印函数的提示消息,而不调用它。另外,如果我输入了一个数字,它就不会返回任何内容。我以为在程序窗口里不会有什么明显的事情发生。

你能详细说明发生了什么,并教我如何正确地写出它,以达到我想要的目的吗?我希望我的问题足够清楚。

谢谢,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-29 03:20:10

看到提示符是因为在函数定义的参数中引入了对input()的调用--具体来说,它是一个默认值,在定义时进行计算。

听起来,您真正想要的是一个不带任何参数的函数,并且只在运行时调用input()

代码语言:javascript
运行
复制
def find_dt():
    x = int(input('enter a positive number: '))

    if x < 0:
        print ('not positive')
    ...
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25561188

复制
相关文章

相似问题

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