-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathparking.py
More file actions
132 lines (102 loc) · 3.63 KB
/
Copy pathparking.py
File metadata and controls
132 lines (102 loc) · 3.63 KB
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#Esto es un ejercicio de parking que simula un sistema de aparcamiento
#Necesitamos gestionar un parking
#Necesitamos una estructura que simbolice las plazas del parking
#Menu sencillo para interactuar
#El parking se compone de 10 filas y 15 plaza (por fila) 10X15 = 150 plazas
#Dar de alta un coche en una plaza
#Consultar el estado de una plaza
#Dar de baja el coche de una plaza
#Visualizar el estado de todas las plazas
#Ver cuantas quedan libres
#Salir de la aplicacion
#Estructura del programa
#Una lista de listas que simbolice las plazas del parking
parking = []
def inicializar_parking():
for i in range(0,10):
lista = []
for j in range(0,15):
lista.append (False) #Esto indica que la plaza esta libre
parking.append(lista)
def visualizar_parking():
for i in parking:
print(i)
def menu():
print("Parking gestor")
print("==================================================")
print("1) Dar de alta un coche en una plaza")
print("2) Dar de baja el coche de una plaza")
print("3) Consultar el estado de una plaza")
print("4) Visualizar ocupación del parking")
print("5) Ver cuantas plazas quedan libres")
print("0) Salir")
def solicitar_fila_columna():
print("Introduce fila")
fila = input()
print("Introduce columna")
columna = input()
return int(fila), int(columna)
def esta_ocupado(fila,columna):
return parking[fila][columna] == True
def dar_alta(fila,columna):
if fila < 10 and fila >= 0 and columna <15 and columna >= 0:
if not esta_ocupado(fila,columna):
parking[fila][columna] = True
print("Coche aparcado en la plaza")
else:
print("La plaza {0} - {1} ya esta ocupada".format(str(fila), str(columna)))
else:
print("La plaza no existe en el parking")
def dar_baja(fila,columna):
if fila < 10 and fila >= 0 and columna <15 and columna >= 0:
if esta_ocupado(fila,columna):
parking[fila][columna] = False
else:
print("La plaza no existe en el parking")
def plazas_libre():
libres = 0
for fila in parking:
for columna in fila:
if columna == False:
libres += 1
return libres
def consulta_plza(fila,columna):
if fila < 10 and fila >= 0 and columna <15 and columna >= 0:
if esta_ocupado(fila,columna):
print("La plaza {0} - {1} esta ocupada".format(str(fila), str(columna)))
else:
print("La plaza {0} - {1} esta libre".format(str(fila), str(columna)))
else:
print("La plaza no existe en el parking")
#main
inicializar_parking()
salida = not False
while salida:
menu()
print("opcion: ")
opcion = str(input())
print()
#posibles casos
if int(opcion)==1:
f,c =solicitar_fila_columna()
dar_alta(f,c)
if int(opcion)==2:
f,c =solicitar_fila_columna()
dar_baja(f,c)
if int(opcion)==3:
f,c =solicitar_fila_columna()
if esta_ocupado(f,c):
print("La plaza {0} - {1} esta ocupada".format(str(f), str(c)))
else:
print("La plaza {0} - {1} esta libre".format(str(f), str(c)))
if int(opcion)==4:
visualizar_parking()
if int(opcion)==5:
libres = plazas_libre()
print("Quedan {0} plazas libres".format(str(libres)))
if int(opcion)==0:
print("Saliendo del programa...")
salida = False
print()
print("Pulsa ENTER para continuar")
input()