重新分配列表中不起作用的内容

2024-09-28 19:31:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在用户做了某件事但似乎不起作用之后重新分配列表中的某件事。罪犯代码如下:

table = [" "," ", " ", " ", " ", " ",]
userplay = input(": ")
if userplay == "1":
    table[1] = "X"

当这种情况发生,我试图打印它,它只是保持不变。我做错什么了?你知道吗


Tags: 代码用户列表inputiftable情况罪犯
2条回答

如果使用的是python2,则需要将变量转换为字符串或使用raw_input()

table = [" "," ", " ", " ", " ", " ",]
userplay = str(input(": "))  # Or: userplay = raw_input(": ")
if userplay == "1":
    table[1] = "X"

或者更好,如@Max所述,测试int(如果您使用的是python2并且您的输入是整数):

table = [" "," ", " ", " ", " ", " ",]
userplay = input(": ")
if userplay == 1:
    table[1] = "X"

注意:python3中,input()默认返回一个字符串。你知道吗

要解决您的问题,如果您使用的是Python27,那么可以使用raw_input()
您可以找到相对文档here。你知道吗

如果改用Python3,input()工作正常。你知道吗

我假设您使用的是Pyhton27,因此代码如下:

table = [" "," ", " ", " ", " ", " ",]
userplay = raw_input(": ")
if userplay == "1":
    table[1] = "X"

如果用户插入1,表变量的值等于

[' ', 'X', ' ', ' ', ' ', ' ']

相关问题 更多 >