Python - Programa para reservas de restaurante

 
Vista:
Imágen de perfil de Pedro
Val: 15
Ha disminuido su posición en 9 puestos en Python (en relación al último mes)
Gráfica de Python

Programa para reservas de restaurante

Publicado por Pedro (6 intervenciones) el 25/08/2020 18:02:28
El problema es :

Construir un programa que gestione un restaurante. Suponer que la reserva de un día es:
Sin-ytr
Se pide. Mostrar un menú indefinidamente con las opciones siguientes:
1. Mostrar la ocupación total (cantidad de comensales) del restaurante ese día por pantalla.
2. Calcular y mostrar por pantalla la factura de una mesa cualquiera. Suponer que el precio del menú de la casa es 11.95 euros y el de degustación 29.95 euros, IVA del 10% aparte.
3. Calcular el ingreso total del restaurante ese día.
Usar una función para mostrar el menú con opciones. La función no recibe nada y devuelve la opción elegida.
Guardar la información de la reserva en una matriz m.

Ejemplo de presentación
1. Ocupación del restaurante
2. Factura de una mesa
3. Ingreso total del restaurante
Dame una opcion 1
11 comensales en total

Quieres salir? 1 (si) o 0 (no) 0
1. Ocupación del restaurante
2. Factura de una mesa
3. Ingreso total del restaurante

Dame una opcion 2
dame una mesa 1
la factura de la mesa 1 es 125.12500000000001 euros

Quieres salir? 1 (si) o 0 (no) 0
1. Ocupación del restaurante
2. Factura de una mesa
3. Ingreso total del restaurante
Dame una opcion 3
243.595 euros

Quieres salir? 1 (si) o 0 (no) 0
1. Ocupación del restaurante
2. Factura de una mesa
3. Ingreso total del restaurante
Dame una opcion 5
opcion incorrecta
Quieres salir? 1 (si) o 0 (no) 1

que no me desatasco de este codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
def vacia(nf,nc):
    m=[]
    for f in range(nf):
        fila=[0]*nc
        m.append(fila)
    return m
 
def rellena(m):
    for f in range(len(m)):
        for c in range(len(m[0])):
            num=int(input('Dame un numero ({}, {}) '.format(f+1,c+1)))
            m[f][c]=num
    return m
 
def muestra(m):
    c=''
    for fila in m:
        for dato in fila:
            c=c+str(dato)+' '
        c=c+'\n'
    return c
 
##def menu(op):
##    while True:
##        print('1. Ocupación del restaurante')
##        print('2. Factura de una mesa')
##        print('3. Ingreso total del restaurante')
##
##        op=input('Dame una opcion ')
##        resp=int(input('¿Quieres salir? 1(si) o 0(no) '))
##        if resp==0:
##            break
##    return op
 
 
#PROGRAMA PRINCIPAL
 
#Crear matriz
nf=int(input('¿Cuantas mesas hay hoy? '))
nc=4
m=vacia(nf,nc)
rellena(m)
print('Matriz de reservas:')
print(muestra(m))
 
while True:
    print('1. Ocupación del restaurante')
    print('2. Factura de una mesa')
    print('3. Ingreso total del restaurante')
    op=int(input('Dame una opcion '))
    if op>=4:
        print('Opcion incorrecta')
 
 
#Numero de comensales
    if op==1:
        com=0
        for f in range(len(m)):
                com+=m[f][1]
        print(com,'comensales en total')
 
#Factura de una mesa
    if op==2:
        f=0
        x=int(input('Dame una mesa '))
        for f in range(len(m)):
            f=m[x-1][2]*11.95+m[x-1][3]*29.95
        print('La factura de la mesa',x,'es',f,'euros')
 
#Ingreso total del restaurante
    if op==3:
        t=0
        for f in range(len(m)):
            for c in range(len(m[0])):
                t+=m[f][2]*11.95+m[f][3]*29.95
        print('Ingreso total',t)
 
    resp=int(input('¿Quieres salir? 1(si) o 0(no) '))
    if resp==1:
        break
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