Python整数输入校验问题:处理非法输入与程序重复执行
输入验证解决方案:获取5个1-5之间的整数
以下是满足需求的完整可运行代码,包含非整数输入处理、数值范围验证,以及重复输入直到合法的逻辑:
num_list = [] for _ in range(5): while True: user_input = input("请输入1到5之间的整数:") try: # 尝试将输入转换为整数 num = int(user_input) # 验证数值是否在1-5范围内 if 1 <= num <= 5: num_list.append(num) break # 输入合法,跳出内层循环,进行下一个数字的输入 else: print("错误:输入的数值必须在1到5之间,请重新输入。") except ValueError: # 处理输入无法转换为整数的情况(如输入字符串、小数等) print("错误:请仅输入整数,不要输入字符串或其他非整数内容。") print("你输入的数字是:", num_list)
关键逻辑说明
- 内层循环:使用
while True实现重复输入,直到用户提供合法值才跳出循环。 - 非整数处理:通过
try-except捕获ValueError(当输入无法转换为整数时触发),并给出明确提示。 - 范围验证:转换为整数后,通过条件判断
1 <= num <=5检查数值是否符合要求,不符合则提示并继续循环。 - 列表存储:改用动态列表
append添加合法值,比固定长度列表更简洁灵活。
内容的提问来源于stack exchange,提问作者Thiha Hein
相关产品推荐
相关产品推荐

