我正在制作一个tic-tac-toe游戏,只是为了更好地吸收我在python编程中学习的概念
在我的代码中,我试图对大写字母进行字符替换,因为用户可以输入“meio-E”或“meio-E”,但我一直在输入错误“TypeError:'str'对象不支持项目分配”
以下是我试图改变的部分:
# Função que coloca as peças X no tabuleiro
def coloca_pecas_X(tabuleiro):
desenha_tabuleiro(o_tabuleiro)
print("Faça sua Jogada (topo, meio, baixo)-(E, M, D). Ex: topo-M")
jogada = input()
jogada[-1] = jogada[-1].upper()
tabuleiro[jogada] = " X "
完整的错误消息如下所示:
Traceback (most recent call last):
File "D:\Usuário\Documents\Curso Python\jogo_da_veia.py", line 65, in <module>
proxJogada()
File "D:\Usuário\Documents\Curso Python\jogo_da_veia.py", line 57, in proxJogada
coloca_pecas_X(o_tabuleiro)
File "D:\Usuário\Documents\Curso Python\jogo_da_veia.py", line 33, in coloca_pecas_X
jogada[-1] = jogada[-1].upper()
TypeError: 'str' object does not support item assignment
如果有人能帮助我,我将不胜感激
完整代码:
# Jogo da velha
# Autor: Arthur Silva
# Data: 11/08/2020
o_tabuleiro = {
"topo-E": " ",
"topo-M": " ",
"topo-D": " ",
"meio-E": " ",
"meio-M": " ",
"meio-D": " ",
"baixo-E": " ",
"baixo-M": " ",
"baixo-D": " ",
}
# Função que desenha o tabuleiro
def desenha_tabuleiro(tabuleiro):
print(tabuleiro["topo-E"] + "|" + tabuleiro["topo-M"] + "|" + tabuleiro["topo-D"])
print("--------")
print(tabuleiro["meio-E"] + "|" + tabuleiro["meio-M"] + "|" + tabuleiro["meio-D"])
print("--------")
print(
tabuleiro["baixo-E"] + "|" + tabuleiro["baixo-M"] + "|" + tabuleiro["baixo-D"]
)
# Função que coloca as peças X no tabuleiro
def coloca_pecas_X(tabuleiro):
desenha_tabuleiro(o_tabuleiro)
print("Faça sua Jogada (topo, meio, baixo)-(E, M, D). Ex: topo-M")
jogada = input()
jogada[-1] = jogada[-1].upper()
tabuleiro[jogada] = " X "
desenha_tabuleiro(o_tabuleiro)
print("\n\n\n\n")
# Função que coloca as peças O no tabuleiro
def coloca_pecas_O(tabuleiro):
desenha_tabuleiro(o_tabuleiro)
print("Faça sua Jogada (topo, meio, baixo)-(E, M, D). Ex: topo-M")
jogada = input()
jogada[-1] = jogada[-1].upper()
tabuleiro[jogada] = " O "
desenha_tabuleiro(o_tabuleiro)
print("\n\n\n\n")
def proxJogada():
contador = 1
while contador == 1 or contador == -1:
if contador == 1:
print("Sua vez, X")
coloca_pecas_X(o_tabuleiro)
contador = contador * -1
else:
print("Sua vez, O")
coloca_pecas_O(o_tabuleiro)
contador = contador * -1
proxJogada()
请注意,该说明尚未完成,因为我希望消除这一疑虑
字符串是不可修改的对象
但您可以使用,而不是尝试更改字符,例如:
所以,更改整个字符串
相关问题 更多 >
编程相关推荐