输入10时while循环无法终止,新手求助排查(附代码及截图)
问题解决办法
大概率是这两个问题导致循环停不下来:
- 没把输入的内容转成整数:
input()拿到的是字符串,你拿字符串"10"和整数10比,肯定不等,循环自然不会终止。 - 循环的终止逻辑写错了:比如循环里没更新要判断的变量,或者
break放错了位置。
给你个修正后的代码参考:
num_list = [] while True: # 把输入转成整数才能和10正确比较 num = int(input("请输入数字:")) # 输入10就直接跳出循环 if num == 10: break # 不是10就加到列表里 num_list.append(num) # 遍历列表判断奇偶 for num in num_list: if num % 2 == 0: print(f"{num} 是偶数") else: print(f"{num} 是奇数")
简单说下逻辑:
- 用
while True构建无限循环,碰到10就用break终止,比写复杂的循环条件更清楚。 - 必须把输入转成整数,不然字符串和整数没法正确对比。
- 如果需要把10也放进列表里,就把
num_list.append(num)移到if判断前面就行。 - 判断奇偶用取模
%,除以2余数是0就是偶数,反之是奇数。
要是你的代码还有其他细节问题,照着这个核心逻辑调整就行——保证输入类型正确,终止判断能触发跳出循环。
内容的提问来源于stack exchange,提问作者Rakan
相关产品推荐
相关产品推荐

