【问题标题】:builtin function or method object is not iterable内置函数或方法对象不可迭代
【发布时间】:2018-10-17 13:18:40
【问题描述】:

我也是 Python 和 stackoverflow 的新手。我正在尝试编写一个可以区分奇数和偶数的程序,但我得到了这个错误。帮助!。这是我的编:

print("Enter the 10 numbers separated by space to distinguish : ")
string1 = str(input())
if len(string1) == 10 or 20:
    list1 = string1.split
    for num in list1:
        #check for odd
        if num % 2 == 0 :
            print(num)
        else:
            print(f'Odd number : {num}')
else:
    print("Please enter 10 numbers")

【问题讨论】:

  • 你遇到了什么错误?
  • 您忘记在split 之后使用括号()。如果你使用它会发生什么? list1 = string1.split(' ')
  • input 已经返回一个字符串,不需要调用str
  • 脚本中有更多内容不起作用。如果您专注于数据类型(int、string、float 等),我会提供帮助。每次遇到错误时,请检查数据类型和要执行的操作

标签: python for-loop iteration jupyter-notebook python-3.7


【解决方案1】:

这段代码有几个问题:

  • string1 = str(input()) input 已经返回一个字符串,不需要调用str
  • list1 = string1.split 你忘了() 实际调用了split 方法。
  • if len(string1) == 10 or 20: 没有做你认为的事情。它将始终评估为True,因为它被解释为(len(string1) == 10) or 20。你想要len(string1) in (10, 20)
  • num % 2 == 0 num 在这里是一个字符串,你想要int(num) % 2 == 0

【讨论】:

    猜你喜欢
    • 2015-07-09
    • 2016-02-16
    • 2015-09-29
    • 2016-08-15
    • 2023-03-31
    • 2014-01-09
    • 2021-11-01
    • 2018-04-30
    • 2015-01-14
    相关资源
    最近更新 更多