如何使用input函数实现用户逐行输入任意数量单词,输入空行停止?
实现方法
完全可以通过input()函数实现逐行收集单词、空行停止输入的需求,核心是用无限循环逐行读取输入,检测到空行时主动终止循环即可。
完整可运行代码
# 初始化列表存储所有有效输入 word_list = [] # 输出指定提示语 print("Enter any number of words, one per line, or a blank line to stop:") while True: line = input() # 检测到空行(含仅输入空格/制表符的情况)就停止循环 if not line.strip(): break word_list.append(line) # 以下为结果验证代码,不需要可删除 print("收集到的单词:", word_list)
逻辑说明
- 提前打印提示语,避免每次输入都重复展示提示文本
- 用
while True构造持续接收输入的循环,每次调用input()读取一整行用户输入 - 终止判断用
line.strip()做了兼容:即使用户误输入了全空格、全制表符的行,也会被识别为停止信号,不需要严格要求用户输入完全无内容的空行;如果不需要这个兼容,直接判断if line == ""即可 - 所有非空的输入会按顺序存入列表,输入顺序和用户输入的先后完全一致
运行效果示例
当你按示例逐行输入内容:
hello my name is dave
最后直接敲回车输入空行,最终得到的word_list值为['hello', 'my', 'name', 'is', 'dave'],完全符合预期。
内容的提问来源于stack exchange,提问作者asvalk1672
相关产品推荐
相关产品推荐

