gpt4 book ai didi

python def函数定义时打印提示信息

转载 作者:行者123 更新时间:2023-11-28 21:18:59 24 4
gpt4 key购买 nike

我正在使用 Python 3.41。

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

我想搜索一个数字的除数列表,将其存储在一个元组中并打印出来。

我先写了

if x < 0:
print ('not positive')
else:
div = ()
for i in range(1, x):
if x%i == 0:
div = div + (i,)
print (div)

这有效。

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

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)

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

您能否详细说明正在发生的事情并教我如何为我想要的目的正确编写它?我希望我的问题足够清楚。

谢谢,

最佳答案

您看到提示是因为您将对 input() 的调用放在函数定义的参数中 - 具体来说,作为默认值,它被评估在定义时。

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

def find_dt():
x = int(input('enter a positive number: '))

if x < 0:
print ('not positive')
...

关于python def函数定义时打印提示信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25561188/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com