Bienvenido a la Comunidad de Treehouse
¿Quieres colaborar en errores de código? ¿Tienes errores que necesitan comentarios? ¿Buscas un par de ojos adicionales en tu último proyecto? aquí.
¿Buscas aprender algo nuevo?
Treehouse ofrece una prueba gratuita de siete días para estudiantes nuevos. Obtén acceso a miles de horas de contenido y únete a miles de
Inicia tu prueba gratuita
Kylie Nonemaker
1.190 Puntos¿Por qué mi grid tiene un punto como marcador de posición?
Mi código es:
from tarjetas import Tarjeta
import aleatorio
class Game:
def __init__(self):
self.tamaño = 4
self.opciones_tarjeta = ['Agregar', 'Boo', 'Gato', 'Dev', 'Huevo', 'Far', 'Gum', 'Cabaña']
self.columnas = ['A', 'B', 'C', 'D']
self.tarjetas =
self.ubicaciones =
para columna en self.columnas:
para num en rango(1, self.tamaño + 1):
self.ubicaciones.append(f'{column}{num}')
def establecer_tarjetas(self):
ubicaciones_usadas =
para palabra en self.opciones_tarjeta:
para i en rango(2):
ubicaciones_disponibles = establecer(self.ubicaciones) - establecer(ubicaciones_usadas)
ubicación_aleatoria = aleatorio.choice(list(ubicaciones_disponibles))
ubicaciones_usadas.append(ubicación_aleatoria)
de = Tarjeta(palabra, ubicación_aleatoria)
self.tarjetas.append(de)
def crear_fila(self, num):
row =
para columna en self.columnas:
para de en self.tarjetas:
if de.ubicación == f'{column}{num}':
if de.coincidido:
row.append(str(de))
else:
row.append('. ')
return row
def create_grid(self):
# / A / B / C / D /
header = ' | ' + ' | '.join(self.columnas) + ' |'
print(header)
para row en rango(1, self.tamaño + 1):
print_row = f'{row}| '
get_row = self.crear_fila(row)
print_row += ' | '.join(get_row) + ' |'
print(print_row)
# métodos
# crear nuestro cuadrícula
# verificar coincidencias
# verificar si se ganó el juego
# ejecutar el juego
# dunder main
if __name__ == '__main__':
game = Game()
game.establecer_tarjetas()
game.tarjetas[0].coincidido = Verdadero
game.tarjetas[1].coincidido = Verdadero
game.tarjetas[2].coincidido = Verdadero
game.tarjetas[3].coincidido = Verdadero
game.create_grid()
# llamar a iniciar juego
El resultado que obtengo es:
| A | B | C | D |
1| . | . | . | . |
2| . | . | . | . |
3| . | . | . | . |
4| . | . | . | . |
treehouse:~/workspace$ python game.py
| A | B | C | D |
1| . | . | . | . |
2| . | . | Agregar | Agregar |
3| . | . | . | Boo |
4| . | Boo | . | . |
En la primera ejecución, no agregué los atributos coincidentes. En la segunda ejecución, agregué los atributos coincidentes para ver si el espaciado estaría desalineado, pero parece que es un marcador de posición pero no puedo encontrar dónde está en mi código. Estaba siguiendo el video así que creo que debe haber un error tipográfico ya que no fue intencional.
1 Respuesta
jb30
45,664 Puntos def crear_fila(self, num):
row =
para columna en self.columnas:
para de en self.tarjetas:
if de.ubicación == f'{column}{num}':
if de.coincidido:
row.append(str(de))
else:
row.append('. ')
return row
Intenta cambiar row.append('. ') a row.append(' ')