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
,将导致错误,因为它用于计算使用asint()
进行类型转换的表达式。在这种情况下是否需要使用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()