Python位数判断代码输出重复多次问题求助
代码输出重复的原因分析
这段代码运行时输出重复多次,问题出在多余的for循环上:
具体拆解:
- 你通过
a=int(input("enter a number:"))获取了输入的数字,这个值在代码执行期间是固定不变的。 - 但你给判断逻辑套了一个
for i in range(0,999)循环,这个循环会执行999次(range(0,999)包含0到998共999个元素)。 - 循环内部的判断语句每次都会用同一个
a的值做判断,符合条件的打印语句就会被重复执行999次,自然就出现了重复输出。
修正方案
直接去掉多余的for循环,只保留判断逻辑即可:
a = int(input("enter a number:")) if a < 10: print('single digit number') elif 10 <= a < 100: print("double digit number") elif 100 <= a <= 999: print(f"{a} is triple digit number") else: print("number is out of 0-999 range")
(额外补充:原代码的判断条件漏掉了a=10和a=100的情况,修正后的代码补上了这些边界值,还加了超出范围的提示)
内容的提问来源于stack exchange,提问作者RYUK
相关产品推荐
相关产品推荐

