You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Python奇偶判断程序中的TypeError: 'int' object is not iterable错误?

解决 TypeError: 'int' object is not iterable 问题

嘿,我来帮你搞定这个错误!咱们先拆解一下问题出在哪:

错误原因

你遇到的TypeError核心问题是:你试图遍历一个单个整数。当你执行inp=eval(input('input= '))时,如果用户输入的是单个数字(比如5),inp会变成一个int类型的值。而Python里的整数不是可迭代对象——你没法用for i in inp来“逐个取出”整数里的元素,这就触发了报错。

看你的代码逻辑,你已经通过外层for inp in range(n)循环控制了要输入的数字个数,每次循环只需要处理单个数字,完全不需要内层的for循环。

修正后的代码

我帮你调整了代码,同时把eval换成了更安全的int()(eval会执行任意输入的代码,存在安全风险,而且如果用户输入非数字内容会抛出更奇怪的错误):

def number():
    n = int(input('How many numbers are there in your input: '))
    for _ in range(n):
        num = int(input('input= '))
        if num % 2 == 0:
            print(num, ' is even')
        else:
            print(num, ' is odd')
number()

关键修改点

  • 移除了多余的内层for i in inp循环,直接对单个数字num进行奇偶判断
  • 把变量名inp改成了更清晰的num,避免和循环变量混淆
  • 替换eval为int(),提升代码安全性和稳定性
  • 去掉了不必要的continue语句——if/else分支执行完后自然会进入下一次循环,不需要额外的continue

运行示例

假设你运行程序后输入:

3
input= 1
input= 2
input= 3

程序会输出:

1  is odd
2  is even
3  is odd

内容的提问来源于stack exchange,提问作者Shafin Hasnat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:40:40