Python初学者循环问题:如何用for循环实现输入数字至大于100?
解决用for循环实现输入数字直到大于100的问题
原代码的问题
- 没必要把输入的字符串转成列表:比如输入"50"会被拆成
['5','0'],循环会逐个遍历这些单个字符,完全不符合输入完整数字的需求。 - 变量逻辑混乱:循环里重新用
a接收新输入,但判断的却是列表里的单个字符a1,根本没用到新输入的数值,导致逻辑完全错误。
正确代码实现
因为题目要求必须用for循环,而这个需求本质是持续循环直到满足条件,我们可以用两种方式实现:
方式1:使用itertools.count(无限循环)
import itertools for _ in itertools.count(): num = int(input("Enter a number: ")) if num > 100: print("congratulations! The number you entered is bigger than 100") break print("try again")
方式2:用足够大的循环范围(无需导入模块)
# 用一个足够大的次数范围,模拟持续输入场景 for _ in range(1000): num = int(input("Enter a number: ")) if num > 100: print("congratulations! The number you entered is bigger than 100") break print("try again")
代码说明
- 每次循环都会获取用户输入的数字并转为整数类型。
- 如果输入的数字大于100,就输出指定祝贺信息并通过
break跳出循环;否则提示try again,继续下一次循环。 - 第二种方式里的
range(1000)是假设用户最多输入1000次,完全能满足日常测试需求。
内容的提问来源于stack exchange,提问作者vrhulk
相关产品推荐
相关产品推荐

