...
Гений
(84997)
4 года назад
Потому, что при вводе 0 у Вас _продолжаются_ вычисления. А надо было выходить, а не просто вывести сообщение.
c = a / (b*b) при b = 0 c = a / 0 => ошибка деления на 0.
Ну и там ещё дальше есть что исправить. Возможно что-то mail.ru съел.
port port
Искусственный Интеллект
(181634)
4 года назад
d=[
" Ярко выраженный дефицит массы тела",
" Дефицит массы тела",
" Норма",
" Предожирение",
" Ожирение 1 степени",
" Ожирение 2 степени",
" Ожирение 3 степени"
]
ans=0
while ans!=1:
~~a=float(input('Рост в метрах '))
~~if 0<a<2.5: ans=1
ans=0
while ans!=1:
~~b=float(input('Вес в килограммах '))
~~if 1<b<500: ans=1
imt=b/a**2
print (round(imt))
if imt<=16: i=0
elif imt<=18: i=1
elif imt<=25: i=2
elif imt<=30: i=3
elif imt<=35: i=4
elif imt<=40: i=5
else: i=6
print (f'Поздравляю! У Вас {d[i]}')
И русский язык "подтяни"... ошибачка... выроженный...
Код.
from colorama import init
from colorama import Fore, Back, Style
init()
print (Fore.BLACK)
print( Back.RED )
print (Style.DIM)
print("здравствуйте! Это калькулятор индекса массы тела")
a= float(input ("введи вес в кг: "))
if a <= (0):
print("вы не ввели число")
a= float(input ("введи вес в кг: "))
b= float(input ("введи рост в метрах: "))
if b <= (0):
print("вы не ввели число")
b= float(input ("введи рост в метрах: "))
if b == 0:
print("Упс, где-то ошибачка. Проверьте введённые числа")
print("вес " + str(a) + "рост" + str(b))
input
c = a / ( b * b )
round(c)
if c <= (1):
print("Упс, где то ошибочка. ваш индекс массы тела = 1")
elif c <= (16):
print(str(c) + " Ярко выроженный дефицит массы тела")
elif c <= (18):
print(str(c) + " Дефицит массы тела")
elif c <= (25):
print(str(c) + " Норма")
elif c <= (30):
print(str(c) + " Предожирение")
elif c <= (35):
print(str(c) + " Ожирение 1 степени")
elif c <= (40):
print(str(c) + " Ожирение 2 степени")
elif c >= (40):
print(str(c)+"Ожирение 3 степени")
input ("exit")