
Python
Как сделать несколько условий для оператора в Python 3?
Это самый простенький калькулятор, да, но я не могу понять, как сделать вывод фразы "Некорректный знак" через оператор if(или else), если знак не подойдёт ни под одно условие знаков? Ну например, если ввести на место знака не знак, а цифру.


Используйте elif для взаимоисключающих условий и else для Некорректный знак
Сергей Волокитин
Я хотел так сделать, но из-за того, что в Python 3 if и else требуют отступ для сигнализации о том, что действие происходит в них, а у меня уже был написан код, причём не так уж и мало если честно, делать каждой строчке новый отступ...? Я бы закалибался. Впредь, буду иметь это ввиду.
a, b, c = float(input('Первое число: ')), float(input('Второе число: ')), input('Действие: ')
print(f'Результат: {eval(f"{a}{c}{b}")}' if (o := ['+', '-', '*', '/', '%', '**']).count(c) else 'Некорректный знак')
#print('Результат: ', eval({'+': 'a + b', '-': 'a - b', '*': 'a * b', '/': 'a / b', '%': 'a % b', '**': 'a ** b'}[c]))
print(f'Результат: {eval(f"{a}{c}{b}")}' if (o := ['+', '-', '*', '/', '%', '**']).count(c) else 'Некорректный знак')
#print('Результат: ', eval({'+': 'a + b', '-': 'a - b', '*': 'a * b', '/': 'a / b', '%': 'a % b', '**': 'a ** b'}[c]))
Примерно так (в блоках if, elif, else должны быть отступы):
what = input('Выберите действие (+, -) --> ')
a = int('Введите первое число: ') # функция int преобразовывает значение переменной в целочисленный тип данных, например 1, 3, 5 и т. д. (десятичные числа сюда не относятся)
b = int('Введите второе число: ')
if what == '+': # поскольку функция input по умолчанию записывает всё в переменную как строку, поэтому "+" мы указываем в кавычках либо двойных, либо в одинарных
c = a + b
print(c)
elif what == '-':
c = a - b
print(c)
else:
print('Введено неверное значение!')
elif отвечает за другое какое-нибудь значение, которое не подошло к if, а если не к if, и не к elif, то введено что-то неправильное, за это отвечает блок else
И задание на конец. Сделай так, чтобы калькулятор мог умножать и делить
what = input('Выберите действие (+, -) --> ')
a = int('Введите первое число: ') # функция int преобразовывает значение переменной в целочисленный тип данных, например 1, 3, 5 и т. д. (десятичные числа сюда не относятся)
b = int('Введите второе число: ')
if what == '+': # поскольку функция input по умолчанию записывает всё в переменную как строку, поэтому "+" мы указываем в кавычках либо двойных, либо в одинарных
c = a + b
print(c)
elif what == '-':
c = a - b
print(c)
else:
print('Введено неверное значение!')
elif отвечает за другое какое-нибудь значение, которое не подошло к if, а если не к if, и не к elif, то введено что-то неправильное, за это отвечает блок else
И задание на конец. Сделай так, чтобы калькулятор мог умножать и делить
Пишите на англ названия переменных ибо дальше будет беда (
Сергей Волокитин
Уже понял. Бяда пришла и пришлось каждую переменную перезаписывать другим именем
Похожие вопросы
- Нейронные сети на Python 3.4
- Математические операторы в Python
- Деление с остатком и выражение if в python 3
- Python 3.7 нужен код
- Ошибка TypeError: 'str' object is not callable . Python 3. Как исправить?
- Python 3. Взаимодействие split() с input()
- Я установил Python 3.4 на Windows XP 32bit, но PIP решил не устанавливаться. Как мне его установить?
- Помогите пожалуйста написать скрипт на языке Python 3
- Помогите пожалуйста с созданием словаря в Python 3
- Напишите пожалуйста скрипт на языке Python 3