如何用Python实现按回车逐行输入至输入END终止的功能
实现回车无限输入名字直到输入END的方案
嘿,很高兴帮你搞定这个小需求!你猜的完全没错,while循环就是干这个活儿的最佳选择,我来一步步帮你把代码补全并解释清楚~
首先,先明确咱们要实现的逻辑:
- 提示用户逐个输入名字,按回车确认每一次输入
- 当用户输入
END(不区分大小写)时,停止输入 - 把所有输入的有效名字存入列表
先给你完整的可运行代码,咱们再逐行拆解:
def main(): # 初始化一个空列表,用来存输入的名字 names = [] print("Please input names one-by-one for validation.") print("Input END after you've entered the last name.") # 开启无限循环,直到触发退出条件 while True: # 获取用户输入,用strip()去掉前后的空格(避免不小心输入空格导致判断错误) current_input = input().strip() # 判断是否输入了END,转成大写是为了兼容小写/混合大小写的输入 if current_input.upper() == "END": # 跳出循环,结束输入流程 break # 如果不是END,就把当前输入的名字添加到列表里 names.append(current_input) # 输入结束后,咱们可以打印一下结果验证 print("You've entered the following names:") print(names) # 调用主函数启动程序 if __name__ == "__main__": main()
关键代码解释
while True::这是一个无限循环,会一直重复执行里面的代码,直到遇到break语句才会停止input().strip():input()用来获取用户的输入,strip()会去掉输入内容前后的空格,比如用户不小心输入了" Matthew ",处理后就变成"Matthew",避免空格影响后续判断current_input.upper() == "END":把用户输入的内容转成大写,这样不管用户输入end、End还是END,都能被识别成结束指令,更人性化break:当满足结束条件时,用这个语句跳出循环,结束输入过程names.append(current_input):把每次输入的有效名字添加到列表中,实现存储功能
示例运行效果
当你运行代码后,会看到如下交互:
Please input names one-by-one for validation.
Input END after you've entered the last name.
Sarah
Tyler
Matthew
END
You've entered the following names:
['Sarah', 'Tyler', 'Matthew']
这样就完美实现了你想要的功能啦!如果还有其他小疑问,随时问哦~
内容的提问来源于stack exchange,提问作者neeka
相关产品推荐
相关产品推荐

