如何在没有用户输入的情况下返回Python中的默认值



我试图让这个返回默认值"愚蠢"如果用户没有输入他们的名字,但我无法让它工作。它只返回"问候"没有名字

def main():
name = input("What is your name? ")
hello(name)
def hello(x ="stupid"):
print("Greetings,", x)
main()

预期输出:

Greetings, Ryan

Greetings, stupid

hello函数的默认值为"stupid"对于参数x,这意味着如果在调用函数时没有为x提供值,它将使用"stupid"作为x的值。然而,您设置代码的方式是,名称的输入是在main函数中接受的,而不是在hello函数中。因此,即使用户没有为他们的名字输入任何内容,输入函数也将返回一个空字符串,该字符串将在调用hello时作为x的参数传递。

def main(): 
name = input("What is your name? ")
if not name:
name = "stupid"
hello(name)
def hello(x): 
print("Greetings,", x)
main()

这样,如果用户输入一个空字符串,主函数将传递"stupid"作为hello的参数,结果是&;Greetings, stupid&;被打印出来。如果用户输入一个名称,该名称将作为参数传递,并且"Greetings, [name]"将被打印。

如果by "没有输入他们的名字"您的意思是用户只按下Enter而不输入任何其他内容,那么name将是一个空字符串,您可以检查:

def hello(x):
if not x:
x = 'stupid'
print('Greetings,', x)

或更短:

def hello(x):
print('Greetings,', x or 'stupid')

相关内容

  • 没有找到相关文章