私は研究している大学の宿題として単純なゲームを開発しようとしていますが、私のコードの一部に問題があります。ValueError:['A']がリストにありません
p1 = jogador[tn][pn][0] # This is equals to 'A', because both "tn" and "pn" are variables that, in this case, are equals '0'.
p1 = list(p1)
ip1 = colunas.index(p1)
そして、これは私に次のエラーを与える:ここにある
Traceback (most recent call last):
File "G:/Fatec/1º Semestre/Alg+BD/PycharmProjects/AlgoritmosNaVeia/EP/BatalhaNaval.py", line 77, in <module>
ip1 = colunas.index(p1)
ValueError: ['A'] is not in list
うーん...私はどのように「A」がリストにあることをかなり確信しているので、...私はこれを解決する?
あなたは完全なコードをしたい場合は、ここでは(それがまだ完了していない)である:
J1 = open('jogador1.txt', 'r')
J2 = open('jogador2.txt', 'r')
# Lendo as jogadas dos jogadores
jogador1 = []
jogador2 = []
count = 0
while count < 6:
variavel = J1.readline()
variavel = list(variavel)
del variavel[1], variavel[0]
if '\n' in variavel:
variavel.remove('\n')
variavel = ''.join(variavel)
variavel = variavel.split('|')
jogador1.append(variavel)
variavel = J2.readline()
variavel = list(variavel)
del variavel[1], variavel[0]
if '\n' in variavel:
variavel.remove('\n')
variavel = ''.join(variavel)
variavel = variavel.split('|')
jogador2.append(variavel)
count += 1
del jogador1[4], jogador2[4]
linhas = 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'L', 'M', 'N', 'O', 'P'
colunas = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
naviospermitidos = 2, 2, 5, 4
x1 = 0 # Quantidade de navios definidos pelo usuário
x2 = 0 # Quantidade de navios permitidos (2x1, 2x2, 5x3, 4x4)
count = 0 # Contador
while count < 4: # Verificar o tabuleiro dos jogadores.
if len(jogador1[x1]) != naviospermitidos[x2]:
print("ERROR_VALIDATION teste jogador1")
if len(jogador2[x1]) != naviospermitidos[x2]:
print("ERROR_VALIDATION teste jogador2")
count += 1
# Validar quantidade de tiros de torpedos
if len(jogador1[4]) != 20:
print("ERROR_VALIDATION teste jogador1")
if len(jogador2[4]) != 20:
print("ERROR_VALIDATION teste jogador2")
print(jogador1) # REMOVER DEPOIS
print(jogador2) # REMOVER DEPOIS
jogador = jogador1
posicoes = []
x3 = 0
tn = 0 # Tipo do navio
pn = 0 # Posição do navio
count = 0
for tn in range(0, 3): # Começando a colocar as peças no tabuleiro.
if tn == 0:
x3 = 3
elif tn == 1:
x3 = 4
elif tn == 2:
x3 = 0
elif tn == 3:
x3 = 1
p1 = jogador[tn][pn][0]
p1 = list(p1)
ip1 = colunas.index(p1)
for pn in range(0, x3):
if len(jogador[tn][pn]) == 3: # Se a linha for menor que 10
p2 = jogador[tn][pn][1]
ip2 = linhas.index(int(p2))
if jogador[tn][pn][-1] == 'H':
for count in range(0, x3):
posicoes.append(colunas[ip1] + p2)
ip1 += 1
print(posicoes)
if jogador[tn][pn][-1] == 'V':
for count in range(0, x3):
posicoes.append(p1 + str(linhas[ip2]))
ip2 += 1
print(posicoes)
break
'' A ''を渡す必要があるときは、インデックスに '['A']'を渡しています。単に 'p1 = list(p1)'行を削除してください。 –
まさに '' A''がリストにありますが、 '['A']'はリストにありません。 –
私はそれをしましたが、問題は起こり続けています:( –