Решения, основанные на переменной, переданной функции - PullRequest
0 голосов
/ 30 апреля 2018

Я новый пользователь Python 3, и мне нужно как-то заставить работать следующее. Я не знаю, как правильно выполнять действия на основе переменной operation.

def arith(x, y, operation):
    if operation == add:
        return x + y
    if operation == mult:
        return x * y
print(arith(x = 2, y = 3, operation = add))
print(arith(x = 2, y = 3, operation = mult))

Я получаю следующее сообщение об ошибке:

print (arith (x = 2, y = 3, операция = добавление)) NameError: имя 'add' не определено

Я посмотрел, но не смог найти ответ на этот вопрос

1 Ответ

0 голосов
/ 30 апреля 2018
def arith(x, y, operation):
    if operation == 'add':
        return x + y
    if operation == 'mult':
        return x * y
arith(2, 3, 'add')
arith(2, 3, 'mult')

Проблема в том, что add и mult не определены. Оборачивая их в кавычки, «добавить» и «мульт», вы определяете их как строку.

Проверьте эту документацию на строки для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...