Python中能否用单个input()实现多轮分步输入提示?
实现单条语句完成多次分提示输入
你可以用生成器表达式结合解包赋值,在单条语句里实现多次分步骤的输入提示——不用多行input(),但依然会分两次提示用户输入,完全避开“同一行输入所有值”的问题。
把你原来的多行代码改成这样就行:
var1 = "请输入第一个值: " var2 = "请输入第二个值: " VARIABLE1, VARIABLE2 = (input(prompt) for prompt in [var1, var2]) print(VARIABLE1 + VARIABLE2)
执行时终端会先显示请输入第一个值: ,等用户输入回车后,再显示请输入第二个值: ,和你原来的多行input()效果完全一致,但输入逻辑只用了一条语句。
要是想把提示文本也整合进单条语句,直接这么写也可以:
VARIABLE1, VARIABLE2 = (input(prompt) for prompt in ["请输入第一个值: ", "请输入第二个值: "]) print(VARIABLE1 + VARIABLE2)
原理很直白:生成器表达式(input(prompt) for prompt in [var1, var2])会依次遍历提示列表里的每个字符串,每次调用input()弹出对应提示、收集输入结果,最后通过解包把结果分别赋值给两个变量。
内容的提问来源于stack exchange,提问作者Vri
相关产品推荐
相关产品推荐

