-
Notifications
You must be signed in to change notification settings - Fork 0
/
ejercicio 1.py
160 lines (94 loc) · 3.66 KB
/
ejercicio 1.py
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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
datos_personas={'Patricia':[18,88,1.75],'Juan':[19,73.5,1.80],'Jose':[55,77,1.78], 'Marta':[5,43.6,1.30]}
####Esta bien que no me muestre el promedio hasta que todo el diccionario este cargado?;
#Como hago para usar el valor de retorno de la funcion carga para limitar que pase a 2 sin antes haber pasado por 1
def menu():
print('''----- ---Menu--- -----
1) Carga de Datos de una persona
2) Calculo del promedio de altura de la persona
3) Obtener el nombre de la persona mas pesada
S o s) Salir del programa''')
opc=input('Ingrese una opcion: ').lower()
return opc
def ingreso(clave):
lista=[]
b1=0
while b1==0:
try:
edad=int(input(f'Ingrese la edad de {clave}: '))
except ValueError:
print('Error. Debe ingresar un numero')
else:
if edad>0:
lista.append(edad)
b1=1
else:
print('La edad debe ser mayor a cero')
b3=0
while b3==0:
try:
peso=float(input('Ingrese el peso del alumno: '))
except ValueError:
print('Error. El peso debe ser un numero real!')
else:
if peso>0:
lista.append(peso)
b3=1
else:
print('Reintente la carga del peso')
b2=0
while b2==0:
try:
altura=float(input('Ingrese la altura del alumno: '))
except ValueError:
print('Error. Debe ingresar un numero real para la altura.')
else:
if altura>0:
lista.append(altura)
b2=1
else:
print('Error. Debe ingresar un valor mayor a 0 para la altura')
datos_personas[clave]=lista
return True
def promedio_altura(dicc):
acu=0
cont=0
for i in dicc:
peso=dicc[i][2]
acu+=peso
cont+=1
prom=acu/cont
return prom
def mas_pesado(dicc):
for i in dicc:
peso_maxi=dicc[i][1]
if dicc[i][1]>peso_maxi:
peso_maxi=dicc[i][1]
clave= i
return clave
####### Programa Principal########
b=0
validacion=False
while b==0:
print(' ')
op=menu()
if op=='1':
c=0
while c==0:
nombre=input('Ingrese el nombre de un estudiante: ')
if nombre in datos_personas:
validacion=ingreso(nombre)
c=1
print(datos_personas)
else:
print(f'El nombre "{nombre}" no se encuentra en el diccionario. Reintente')
elif op=='2' and validacion==True:
promedio_altura(datos_personas)
print(f'El promedio de altura de los alumnos es: {promedio_altura(datos_personas)}')
elif op== '3':
cual=mas_pesado(datos_personas)
print(f'La persona con mas peso es: {cual}')
elif op=='s':
print('Saliendo del programa. ')
b=1
else:
print('Error. Ingrese una opcion valida')