【问题标题】:Problem with the error: argument of type 'int' is not iterable [duplicate]错误问题:“int”类型的参数不可迭代[重复]
【发布时间】:2019-02-10 12:16:08
【问题描述】:

嘿,我是使用 python 编程的新手,只希望这段代码打印出范围 0 和 100 中包含数字 9 的每个数字,但我总是收到这条消息:'int' 类型的参数是不可迭代的

for i in range(0, 100):
    if 9 in i:
        print(i)

所以我期望我的代码会返回:

9 19 29 39 49 59 69 79 89 90 91 92 93 94 95 96 97 98 99

【问题讨论】:

  • i != str(i) 您混淆了数字及其字符串表示。 9 in i 是无意义的,因为数字不是数字的容器。另一方面,'9' in str(i) 非常有意义。
  • 好的,谢谢,现在可以了 :)

标签: python-3.x


【解决方案1】:
for i in range(0, 100): 
    if 9 in i:
        print(i)

线

if 9 in i:

如果 i 是列表或数组,则将起作用,因为您的迭代器仅返回一个 int 值(int 不可迭代),它会失败。一个更简单的方法是

for i in range(0, 100): 
    if "9" in str(i):
        print(i)

这里发生的事情是您将 int 转换为字符串(这是一个字符数组),不,您可以使用“in”方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-29
    • 2023-02-20
    • 2017-03-05
    • 2021-03-02
    • 1970-01-01
    • 2022-12-06
    • 1970-01-01
    相关资源
    最近更新 更多