我试图在用户完成某些事情之后在列表中重新分配某些东西,但它似乎不起作用。这是罪魁祸首代码:
table = [" "," ", " ", " ", " ", " ",]
userplay = input(": ")
if userplay == "1":
table[1] = "X"
当发生这种情况并尝试打印时,它会保持不变。我做错了什么?
答案 0 :(得分:3)
如果您正在使用 Python 2 ,则需要将变量转换为字符串或使用raw_input()
:
table = [" "," ", " ", " ", " ", " ",]
userplay = str(input(": ")) # Or: userplay = raw_input(": ")
if userplay == "1":
table[1] = "X"
甚至更好,正如@Max所提到的,针对int
进行测试(如果您使用 Python 2 并且您的输入是整数):
table = [" "," ", " ", " ", " ", " ",]
userplay = input(": ")
if userplay == 1:
table[1] = "X"
注意:在 Python 3 中,input()
默认返回一个字符串。
答案 1 :(得分:1)
要解决您的问题,如果您使用的是Python27,则可以使用raw_input()
您可以找到相关文档here。
如果您使用的是Python3,input()
可以正常使用。
我想您使用的是Pyhton27,因此代码如下:
table = [" "," ", " ", " ", " ", " ",]
userplay = raw_input(": ")
if userplay == "1":
table[1] = "X"
如果用户插入1
,则表变量的值等于
[' ', 'X', ' ', ' ', ' ', ' ']