Python使用while循环遍历range无输出及区间求和问题咨询
问题原因
- 你混淆了
while循环和for循环的语法:i in range(l,o)是for循环的遍历写法,while后面需要跟布尔判断条件 - 你没有对循环变量
i做初始化,也没有在循环体内更新i的取值,循环要么直接不满足条件跳过,要么陷入死循环 - 没有考虑用户输入的两个值的大小关系,如果输入的
l大于o,range(l,o)本身就是空区间,自然不会有输出
正确实现示例
首先先做输入校验、区间边界处理,再写循环逻辑,完整代码如下:
# 处理用户输入并校验范围 def get_valid_num(): while True: num = int(input("请输入0-100之间的整数:")) if 0 <= num <= 100: return num print("输入不符合要求,请重新输入") a = get_valid_num() b = get_valid_num() # 确定区间上下界 start = min(a, b) end = max(a, b) # 初始化循环变量和总和 i = start total = 0 # while循环实现遍历 while i <= end: print(i) total += i i += 1 print(f"区间内所有整数的总和为:{total}")
内容的提问来源于stack exchange,提问作者JFerg99
相关产品推荐
相关产品推荐

