-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathparking_clase.py
More file actions
140 lines (109 loc) · 3.87 KB
/
Copy pathparking_clase.py
File metadata and controls
140 lines (109 loc) · 3.87 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
133
134
135
136
137
138
139
140
#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
from plaza import Plaza # Importa la clase Plaza
parking = []
def inicializar_parking():
for i in range(0,10):
lista = []
for j in range(0,15):
p = Plaza()
lista.append(p)
parking.append(lista)
def visualizar_parking():
for listaFilas in parking:
for plaza in listaFilas:
if plaza.get_matricula() is None:
print("Plaza libre", end="\t")
else:
print("Plaza ocupada", end="\t")
print(plaza)
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()