Python - Matriz de asientos de cine

 
Vista:

Matriz de asientos de cine

Publicado por Cristal Ramírez (1 intervención) el 08/07/2022 21:24:04
Buenas, me podrían alguien ayudar?
Necesito hacer un programa por medio de matrices (8x9) que me muestre los asientos de una sala de cine y tengo que marcar al azar de color rojo 25 asientos, es para ver si alguien me puede ayudar, porfavor y gracias por este espacio
Estoy empezando en matrices y no logro realizar bien la matriz, me da un poco de verguenza, pero de verdad necesito ayuda, voy a adjuntar lo que he hecho a ver si alguien me puede ayudar.
El mostrar los asientos se llama mediante un menu, pero se me hacen muchisimos más del 8x9 y no se como arreglar eso


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def mostrar_sillas(matriz):
    for i in range(len(matriz)):
        for j in range(len(matriz[i])):
            print(matriz[i][j])
        print()
 
def iniciar_sala():
    sillas = []
    filas = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I' ]
    print("Precios de los asientos:  \n FILA 1-4= ₡5000 \n FILA 5-8= ₡3000")
    for i in range(len(filas)):
        fila = []
        for j in range(9):
            fila.append(filas[i] + str(j + 1))
        sillas.append(fila)
        mostrar_sillas()
    return sillas
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Matriz de asientos de cine

Publicado por tincopasan (1082 intervenciones) el 10/07/2022 22:08:58
partamos de la base de que la matriz es de 9 x 9
1)estás llamando a mostrar_sillas desde iniciar_sala y sin parámetro, necesita una matriz que todavía no le pasaste, le podrías pasar como argumento sillas, pero... está dentro del for, así que se repetirá 9 veces, así que hay que sacarla del for. En cuanto a la función mostrar_sillas estás mostrando cada elemento y deberías cada fila, en resumen sería algo así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
def mostrar_sillas(matriz):
  for numero,x in enumerate(matriz,1):
    print(f"Fila número {numero} {x}")
    #print(f"Fila número {numero} {' ' .join(x)}") está linea sino querés mostrar como lista
 
def iniciar_sala():
  sillas = []
  filas = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I' ]
  print("Precios de los asientos:  \n FILA 1-4= ₡5000 \n FILA 5-9= ₡3000\n")
  for i in range(len(filas)):
    fila = []
    for j in range(9):
      fila.append(filas[i] + str(j + 1))
    sillas.append(fila)
  mostrar_sillas(sillas)
  return sillas
 
matriz=iniciar_sala()

la función enumerate no es obligatoria ni necesaria, la agregue por simplicidad para contar las filas y que veas no son 8, 8 es el valor de índice para python, porque comienza desde cero, pero los humanos contamos desde 1, nadie dice fila 0
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar