内置函数或方法对象不可迭代

时间:2018-10-17 13:18:41

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

我也是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")

1 个答案:

答案 0 :(得分:2)

此代码中有几个问题:

  • 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