Python

Я не понимаю как сделать Эту функцию по Python! Не понятно!

Как написать функцию arithmetic, принимающую 3 аргумента: первые 2 - числа, третий - операция, которая должна быть произведена над ними. Если третий аргумент +, сложить их; если —, то вычесть; * — умножить; / — разделить (первое на второе). В остальных случаях вернуть строку "Неизвестная операция".
 # собственно требуемый код
from operator import *
def arithmetic(a, b, op):
return {
'+': add, '-': sub, '*': mul, '/': truediv
}.get(op, lambda a, b: 'Неизвестная операция')(a, b)

# тестовые примеры
print(arithmetic(7, 3, '+'))
print(arithmetic(7, 3, '-'))
print(arithmetic(7, 3, '*'))
print(arithmetic(7, 3, '/'))
print(arithmetic(7, 3, 'q'))
Евгений Зайцев
Евгений Зайцев
55 426
Лучший ответ
Игорь Инявин Простите, можете по понятнее объяснить? Попроще код!
Игорь Инявин Просто Данный код слишком сложный!
Игорь Инявин Ничего не понятно, из того кода, который вы написали!
 # Указываем функции типы аргументов 
# Генерируем шаблон мат части f"{f}{o}{t}" - через краткий формат f
# Используем тернарный оператор if проверяем разрешённые символы if o in "+-*/"
# при нахождении символа генерируем шаблон f"{f}{o}{t}" тем самым получаем str 7+3 и с помощью eval() выполняем матчасть

def arithmetic(f: int, t: int, o: str):
return eval(f"{f}{o}{t}") if o in "+-*/" else "Неизвестная операция"

def arithmetic2(f: int, t: int, o: str):
print(eval(f"{f}{o}{t}") if o in "+-*/" else "Неизвестная операция")

print(arithmetic(7, 3, "+"))
print(arithmetic(7, 3, '-'))
print(arithmetic(7, 3, '*'))
print(arithmetic(7, 3, '/'))
print(arithmetic(7, 3, 'q'))
print()
arithmetic2(7, 3, "+")
arithmetic2(7, 3, '-')
arithmetic2(7, 3, '*')
arithmetic2(7, 3, '/')
arithmetic2(7, 3, 'q')
def arithmetic(x, y, z):
if z == '+':
return x + y
elif z == '-':
return x - y
elif z == '*':
return x * y
elif z == '/':
return x / y
else:
return "Неизвестная операция"
#не забудьте правильные отступы
Z*
Zhomart *
3 303
Игорь Инявин Данная функция не работает 0!
Игорь Инявин Это бесполезно!
Игорь Инявин Неправильный код! Нулевой код
Игорь Инявин Бесконечно задаю один и тот же вопрос! Результат бестолковый!
Zhomart * Все работает. Возможно вы не верно указали, что нужно)
Zhomart * Может нужно не "возврат" а печать из функции?