我得到一个错误“TypeError:无法将int对象隐式转换为str” 当我试着运行这个代码的时候。在x+=1线上。 这个程序的目标是接收诸如“RA1”或“R04”之类的输入,并将1添加到值中,该值始终从0开始。然后我希望它在键入END时“打印”结果。事实证明,这是一个相当大的挑战。Python 3.5.1版
x = 0
y = 0
z = 0
print("Enter 3 digit code.")
x = str(input())
while x != "END":
if x == "RA1":
x += 1
continue
elif x == "R04":
y += 1
continue
elif x == "etc":
z += 1
continue
else:
print('Please enter a 3 digit value or END')
你的代码中有多个问题
TypeError的原因是您无意中通过写入
x = str(input())
使x成为一个字符串,并且当您想向其中添加1
时,Python试图将1
转换为字符串以将其连接到x无限循环与您收到的TypeError无关。它是由于
str(input())
调用的位置错误而发生的这是固定while循环的工作代码:
您需要通过用
str()
包装每个整数来将整数转换为字符串。 之后,使用x = raw_input()
作为输入。当你第一次进入循环时,你需要接受一个输入,但是当你循环回来的时候。因此,你需要一种方法来阻止你的无限循环。因此,需要在循环的开头添加x = raw_input()
实际上,你只需要在循环开始时得到你的输入,不需要2
另外,x、y和z也应该是空字符串或null,而不是
0
相关问题 更多 >
编程相关推荐