Here是我在未显式提供参数时为用户输入编写的C++代码。在过去的一周里,我一直在学习Python-3.7,并且正在尝试实现类似的功能。
这是我尝试过的代码:
def foo(number = int(input())):
print(number)
foo(2) #defaults to user input but prints the passed parameter and ignores the input
foo() #defaults to user input and prints user input这段代码可以工作,但并不完全符合预期。您可以看到,当我将参数传递给foo()时,它会打印参数,而当我不传递参数时,它会打印用户输入。问题是,即使传递了参数(如foo(2) ),它仍然要求用户输入,然后忽略用户输入。如何将其更改为按预期工作(在传递参数时不应要求用户输入)
发布于 2020-05-21 18:39:14
定义函数时执行int(input())。您应该做的是使用像None这样的默认设置,然后在需要时执行number = int(input()):
def foo(number=None):
if number is None:
number = int(input())
print(number)https://stackoverflow.com/questions/61939282
复制相似问题