Python无效数字判断程序问题求助:100-200及0为有效数字
问题分析与代码修正
原代码的逻辑错误在于条件判断的运算符组合不当:
- 原条件
number < 100 or number > 200 or number != 0中,只要满足任一子条件就会触发invalid输出。对于155来说,number != 0成立,因此错误输出了invalid。
修正后的代码方案
方案一:调整逻辑运算符组合
明确无效数字的判断规则——既不在100-200区间,又不等于0:
number = int(input()) if (number < 100 or number > 200) and number != 0: print('invalid')
方案二:反向判断有效范围
先定义有效数字的范围,再判断输入是否不属于该范围:
number = int(input()) if not ((100 <= number <= 200) or number == 0): print('invalid')
两种方案均能实现需求:输入0或100-200之间的数字时终端无输出,其余情况打印invalid。
内容的提问来源于stack exchange,提问作者diananas
相关产品推荐
相关产品推荐

