我试图让这个返回默认值"愚蠢"如果用户没有输入他们的名字,但我无法让它工作。它只返回"问候"没有名字
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')