我是编码新手。我学习了python的基础知识,现在开始了我的第一个项目。我正在尝试编写Tic Tac Toe的代码。我进行了bacic设计,现在正在研究真正的代码。我正在尝试通过坐标系来实现这一点。我正在向用户询问他想去的位置。我将此信息放入列表中。然后,我使用此信息来更改表示井字游戏中x或o的数字之一,但是当它应更改数字时,它给我一个错误:“ TypeError:列表索引必须是整数或切片,而不是str” < / p>
game = [["a b c"],
[0, 0, 0],
[0, 0, 0],
[0, 0, 0],]
a = 0
b = 1
c = 2
def show_display():
global count
count = 0
for row in (game):
print (count, row)
count += 1
print (" ")
show_display()
x = input("Spieler 1,bitte geben sie ihren nächsten Zuge ein."
"Achten sie auf eine korrekte Schreibweise! Beispiel:[a1] Ihre Eingabe:")
print(x[1])
game[(x[2])][(x[1])] = 1 <-here is the problem
show_display()
这是输出:(我想可以)
0 ['a b c']
1 [0, 0, 0]
2 [0, 0, 0]
3 [0, 0, 0]
Spieler 1,bitte geben sie ihren nächsten Zuge ein.Achten sie auf eine korrekte Schreibweise! Beispiel:[a1] Ihre Eingabe: [a1]
a
(显示不正确)
答案 0 :(得分:0)
此问题已解决。
game = [["a b c"],
[0, 0, 0],
[0, 0, 0],
[0, 0, 0],
]
def show_display():
global count
count = 0
for row in (game):
print (count, row)
count += 1
print (" ")
def main():
a = 0
b = 1
c = 2
show_display()
x = input("Spieler 1,bitte geben sie ihren nächsten Zuge ein."
"Achten sie auf eine korrekte Schreibweise! Beispiel:[a1] Ihre Eingabe:")
if(x[0] == "a"):
game[int(x[1])][0] = 1
elif(x[0] == "b"):
game[int(x[1])][1] = 1
elif(x[0] == "c"):
game[int(x[1])][2] = 1
show_display()
if __name__ == '__main__':
main()