Python 如何解决类型错误:';int';对象不可编辑?

Python 如何解决类型错误:';int';对象不可编辑?,python,python-3.x,iteration,typeerror,Python,Python 3.x,Iteration,Typeerror,我想在这个程序中做的是,我试着做一些输入,检查它们是偶数还是奇数,然后打印出来。但是,当我运行此程序时,它显示了以下错误消息-(请参见下图) 源代码: def number(): n=int(input('How many numbers are there in your input: ')) for inp in range(n): inp=eval(input('input= ')) for i in inp: if i % 2 ==

我想在这个程序中做的是,我试着做一些输入,检查它们是偶数还是奇数,然后打印出来。但是,当我运行此程序时,它显示了以下错误消息-(请参见下图)

源代码:

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

您需要使用
列表
追加
输入。这样,您可以稍后对其进行迭代

 def number():
    n = int(input('How many numbers are there in your input: '))
    inp = []
    for i in range(n):
        p = input('input= ')
        if p.isdigit():
            inp.append(int(p))
    for i in inp:
        if i % 2 == 0:
            print(i, ' is even')
        else:
            print(i, ' is odd')

number()

在这里使用
eval
的目的是什么?在循环之后,你认为代码< Inp>代码>的值是什么?请在这里发布代码和错误消息,而不是它的图片。两个要点:1——检查列表工作->2 -请考虑使用类型转换函数,如“代码> Inter())/>代码>而不是<代码>()(<代码> > >使用<代码>评估()如果输入类似于
02
而不是
2
,将导致错误,因为它用于计算使用as
int()
进行类型转换的表达式。在这种情况下是否需要使用
continue
 def number():
    n = int(input('How many numbers are there in your input: '))
    inp = []
    for i in range(n):
        p = input('input= ')
        if p.isdigit():
            inp.append(int(p))
    for i in inp:
        if i % 2 == 0:
            print(i, ' is even')
        else:
            print(i, ' is odd')

number()
def number():
  n=int(input('How many numbers are there in your input: '))
  inp = []
  for i in range(n):
    inp.append(int(input('input= ')))
  for i in inp:
    if i % 2 == 0:
        print(i, ' is even')

    else:
        print(i, ' is odd')

number()