-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCalculadora_IMC.py
More file actions
131 lines (91 loc) · 4.43 KB
/
Calculadora_IMC.py
File metadata and controls
131 lines (91 loc) · 4.43 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
#le damos la bienvenida al usuario
print('¡Bienvenido a la calculadora de su índice de masa corporal, a continuacion ingrese sus datos!\n')
#Creamos un ciclo while para que el usuario ingrese cada uno de los datos
while True:
nombre = input('Introduce tu nombre: ')
#utilizamos una sentencia if para que en caso que el usuario no ingrese ningun dato
# entre en el if y el ciclo se repita
if nombre == "":
print("No ingreso ningun dato, debe ingresar su nombre")
elif nombre.isdigit():
print("No debe de ingresar números")
elif nombre.isalpha() == False:
print("Error, no esta permitido ingresar caracteres que no sean letras del alfabeto")
else:
break
while True:
apellido_pat = input('Ingrese su apellido paterno: ')
if apellido_pat == "":
print("No a ingresado nungun dato, debe ingresar su apellido")
elif nombre.isdigit():
print("No debe de ingresar números")
else:
break
while True:
apellido_mat = input('Ingrese su apellido materno: ')
if apellido_mat == "":
print('No ingreso ningun dato, debe ingresar su apellido materno')
elif nombre.isdigit():
print("No debe de ingresar números")
else:
break
while True:
try:
edad = int(input('Ingrese su edad: '))
if edad < 0:
print("No puede ingresar numeros negativos")
else:
break
except ValueError:
print('Error, debe ingresar un número')
while True:
try:
peso = float(input('Ingrese su peso: '))
if peso < 0:
print("No puede ingresar numeros negativos")
else:
break
except ValueError:
print('Error, debe ingresar un número')
while True:
try:
estatura = float(input("Ingrese su estatura: "))
if peso < 0:
print("No puede ingresar numeros negativos")
else:
break
except ValueError:
print('Error,Debe ingresar un número')
imc = peso / estatura**2
#Creamos condicionales if y elif para que si el rango de imc se ecnuentra entre alguno de ellos
# imprima los datos del usuario junto con su IMC
if imc < 18.5 :
print (nombre+ " "+ apellido_pat + " " + apellido_mat +
" de " + str(edad) + " años de edad, con un peso de " + str(peso) +
" Kg y una estatura de " + str(estatura) + ", tiene un IMC de: " + str(f' {imc:.2f}')+
" y se encuentra en un rango de peso bajo")
elif imc >= 18.50 and imc <= 24.99 :
print (nombre+ " "+ apellido_pat + " " + apellido_mat +
" de " + str(edad) + " años de edad, con un peso de " + str(peso) +
" Kg y una estatura de " + str(estatura) + ", tiene un IMC de: " + str(f' {imc:.2f}')+
" y se encuentra en un rango de peso normal")
elif imc >= 25.00 and imc <= 29.99:
print (nombre+ " "+ apellido_pat + " " + apellido_mat +
" de " + str(edad) + " años de edad, con un peso de " + str(peso) +
" Kg y una estatura de " + str(estatura) + ", tiene un IMC de: " + str(f' {imc:.2f}')+
" y se encuentra en un rango de sobre peso")
elif imc >= 30.0 and imc <= 34.99 :
print (nombre+ " "+ apellido_pat + " " + apellido_mat +
" de " + str(edad) + " años de edad, con un peso de " + str(peso) +
" Kg y una estatura de " + str(estatura) + ", tiene un IMC de: " + str(f' {imc:.2f}')+
" y se encuentra en un rango de obesidad leve")
elif imc >= 35.00 and imc <= 39.99:
print (nombre+ " "+ apellido_pat + " " + apellido_mat +
" de " + str(edad) + " años de edad, con un peso de " + str(peso) +
" Kg y una estatura de " + str(estatura) + ", tiene un IMC de: " + str(f' {imc:.2f}')+
" y se encuentra en un rango de obesidad media")
elif imc >= 40.00:
print (nombre+ " "+ apellido_pat + " " + apellido_mat +
" de " + str(edad) + " años de edad, con un peso de " + str(peso) +
" Kg y una estatura de " + str(estatura) + ", tiene un IMC de: " + str(f' {imc:.2f}')+
" y se encuentra en un rango de obesidad mórbida")