Python课程实验:如何在while循环中持续获取用户输入并实现指定输出?
问题分析与解决
代码存在的问题
- 循环内的
break语句会在第一次执行后直接终止循环,导致程序只能处理一次输入 - 输入内容的拆分操作仅在循环外执行一次,后续新输入的内容未被重新处理,即使移除
break,也只会重复输出第一次的结果 - 循环判断逻辑顺序不合理,未在每次获取新输入后重新检查退出条件
修正后的代码
while True: your_input = input() # 检测到quit则退出循环 if 'quit' in your_input: break # 拆分输入的字符串与数字 item, count = your_input.split() # 格式化输出指定句子 print(f"Eating {count} {item} a day keeps the doctor away.")
逻辑说明
- 用
while True创建无限循环,直到触发退出条件才终止 - 每次循环优先获取新输入,立即检查是否包含
quit,满足则通过break退出 - 若输入不包含
quit,拆分内容后格式化输出对应句子,完成后自动进入下一次循环
这样修改后,程序就能处理多次输入,直到用户输入包含quit的内容为止,完全符合预期输出要求。
内容的提问来源于stack exchange,提问作者Sonia Acosta
相关产品推荐
相关产品推荐

