Сценарий вложения if-else для выбора типа строки из списка в качестве аргумента функции PythonPython

Программы на Python
Anonymous
Сценарий вложения if-else для выбора типа строки из списка в качестве аргумента функции Python

Сообщение Anonymous »


У меня есть функция python, определенная следующим образом:

def fun(name=None): data = [['том'], ['ник'], ['июль']] имя0 = данные[0] # том имя1 = данные[1] # ник имя2 = данные[2] # июля если имя не None: если имя=='том': Имя=имя0 если name=='ник': Имя=имя1 если name=='juli': Имя=имя2 если имя Нет: print('Чтение всех имен') Имя=данные еще: поднять исключение('аргументы не могут быть пустыми. Либо передайте одно имя, либо нет') вернуть имя Это упрощенное представление моего настоящего сценария. Для моего рабочего процесса мне нужно вызвать такую ​​функцию для определенного аргумента типа строки Name, который хранится в виде списка data. Теперь, когда я вызываю эту функцию для tom:

fun('том') Я получаю следующую ошибку:

-------------------------------------------- ------------------------------- Exception Traceback (последний вызов последним) Ячейка In[28], строка 26 23 поднять исключение («аргументы не могут быть пустыми. Либо передайте одно имя, либо нет») 24 возврата Имя ---> 26 веселья('том') Ячейка In[28], строка 23, в fun(name) 21 Имя=данные еще 22: ---> 23 поднять исключение('аргументы не могут быть пустыми. Либо передайте одно имя, либо нет') 24 возврата Имя Исключение: аргументы не могут быть пустыми. Либо передайте одно имя, либо нет. Как вы можете видеть, дерево if пропускается и выполняется либо часть else, либо часть Exception. Почему эта функция пропускает дерево if. Потому что в одном из моих ранних сценариев такая логика работала. Что я делаю не так? Заранее спасибо.

Вернуться в «Python»