Можно ли объявить переменную после условия if python
room = str(input())
if room == "треугльник":
a = float(input())
b = float(input())
c = float(input())
p = ((a + b + c) / 2)
print((p * (p - a) * (p - b) * (p - c)) ** 0.5)
В результате пишет
NameError: name 'p' is not defined
Ответы (1 шт):
Автор решения: MarianD
→ Ссылка
(Не важно):
room = str(input())Не надо
str(), функцияinput()по определению возвращает строку (т.е. типstr):room = input()(Важно):
if room == "треугльник":И когда
room != "треугльник"?Тогда вся ветвь
ifпропускается, таким образом не исполнится ни командаp = ((a + b + c) / 2)(объявление переменной
p) и следующая командаprint((p * (p - a) * (p - b) * (p - c)) ** 0.5)выдает ошибку, не зная, что такое
p.Вы наверно хотели эту команду тоже включить в ветвь
if(т.е. добавить отступ):if room == "треугльник": a = float(input()) b = float(input()) c = float(input()) p = ((a + b + c) / 2) print((p * (p - a) * (p - b) * (p - c)) ** 0.5)