Попробовал сделать простейший калькулятор. Сначала вводим пару чисел, потом вводим операцию, которая будет к этим числам применяться. Вроде бы проще простого.
Сначала идет проверка, что введен один из допустимых знаков (арифметических операций). Потом еще несколько проверок... И доходим собственно до вывода. И тут начинается проблема.
Я более менее понимаю как работает функция print(), и даже попытался потыкать официальный мануал, но не нашел ничего такого, что помогло бы мне реализовать мои хотелки. А хотел бы я получить нечто вот такое:
print(n1 o n2)
Где «n1» и «n2» - это числа, «o» - операция.
Здесь естественно выйдет ошибка синтаксиса.
Например, такая запись в питоне работает:
print(n1 % n2)
А запись выше работать не будет. Потому что при вводе через input() в «o» записывается строка, и print() воспринимает переменную как строку, а не арифметическую операцию.
Посмотрел преобразование типов, там основные типы int, str, bool... Ничего нужного не нашел. Нет такого типа «арифметическая операция», чтобы можно было преобразовать в переменную и удобно подставить в print().
Неужели придется городить небоскреб из if'ов и print'ов для каждой операции, чтобы это обойти?
Не ищу готовое решение, но хоть намекните...
Перемещено leave из general