【发布时间】:2019-11-30 05:59:37
【问题描述】:
假设我们有这样一个函数
def function():
while True:
user_input = input("enter a number: ")
if user_input == "0":
print("finish")
break
print("the number is " + user_input)
在main()中我们调用函数
function()
然后它会要求用户输入,直到它得到一个“0”。 我想要做的是有一些东西可以存储所有输入,并自动将其提供给控制台。所以,我不需要在控制台中手动输入它们。
请注意,我希望函数不接受参数并使用 something_taken_as_input 而不将其作为参数传递。
something_taken_as_input = ["1","2","3","0"]
function()
# enter a number: 1
# enter a number: 2
# enter a number: 3
# enter a number: 0
# finish
# all done by the program, no manually typing!
【问题讨论】:
-
从文件
python script.py < user_inputs.txt获取输入。您甚至可以将结果保存在文件python script.py < user_inputs.txt > result.text中,以便将此文件与具有预期结果的文件进行比较。 -
当函数获取值作为参数并且其他函数仅从用户获取值并使用该值运行第一个函数时很好。通过这种方式,您可以使用列表、文件、sys.args 或数据库中的数据测试第一个函数 - 而您不必手动进行。