Калькулятор на Python
Что не так? уже всё перепроверил помогите пожалуйста
Написано же английским по белому - нет отступа. Если начат вложенный блок if, то его содержимое должно иметь отступ
print()
c = input("выберите операцию + - * / степень⁹ ")
def b():
a = int(input("введите первое число: "))
b = int(input("введите второе число: "))
if c == "+":
r = a + b
elif c == "-":
r = a - b
elif c == "*":
r = a * b
elif c == "/":
r = a / b
print(f"результат: {r}")
if c == "степень":
w = int(input("Какую цифру нужно перевести? "))
a = int(input("в какую степень?(напиши цифру) "))
r = w ** a
print(f"результат: {r}")
else:
b() elsif y==0
потом после непонятного вложенного if получается деление на ноль.
просто
elsif z == "/":
здесь сразу вычислить результат, без проверки
деления на ноль, вы же при умножении результат
на переполнение не проверяете.
вместо икс игрек - op1 и op2 # первый и второй оператор
###
вообще лучше отдельную процедуру сделать:
def eval ( op1 operation op2):
if ....
...
elsif
...
## тогда структура программы будет такой
1) ввод: op1 operation op2
2) if ( operation == "/" and op2 == 0 ):
~~ print ( "Деление на ноль" ) # ~~ табуляция, не забудьте
~~ exit ( -1 )
прим: тоже самое
if ( operation == "div" and op2 == 0 ):
3) result = eval ( op1 operation op2)
4) вывод результата