如何在Python中用for循环/range实现特定字符触发输入终止
调整后的可运行代码
lst = [] print("请输入整数,输入空格将直接终止输入:") while True: raw_input = input().strip() # 输入全为空格时终止流程 if not raw_input: break # 尝试转换为整数,转换失败即非整数,直接忽略 try: num = int(raw_input) lst.append(num) except ValueError: continue # 输出结果 print(f"收集到的有效整数列表:{lst}") if lst: print(f"列表最大值:{max(lst)}") print(f"列表最小值:{min(lst)}") else: print("未收集到任何有效整数")
逻辑说明
- 采用无限循环接收输入,不需要提前指定输入个数,更符合使用场景
- 先对输入做去首尾空白处理,只要输入内容全是空白(单个空格、多个空格、回车都算)就终止输入流程
- 通过
try-except捕获类型转换异常,非整数输入会直接跳过,不会导致程序崩溃 - 输出前判断列表是否为空,避免空列表调用
max()/min()触发报错
内容的提问来源于stack exchange,提问作者Nooob
相关产品推荐
相关产品推荐

