2016-06-09 4 views
1

Его было несколько месяцев с тех пор, как я работал с python. Я не получаю ошибку, но im также не получает желаемый результат тоже.Получение сравнения python 3+ по возвращаемому значению и введенному значению

У меня есть функция:

def set_account(gather_accounts): 
    print("gather_accounts():\n") 
    for a in gather_accounts: 
     print('Value: {}'.format(a[1])) 

    if decision_enter_account == 'Y': 
     bool_add_account = True 
     while bool_add_account == True: 

      prompt_account_url = input('What is the account\'s url?\n') 
      prompt_account_name = input('\nWhat is the account name? \n') 
      #TODO check for duplicate account names, and disallow 
      for a in gather_accounts: 
       if prompt_account_name == a[1]: 
        print('Sorry you already had an account with {} try again.\n'.format(prompt_account_name)) 
        prompt_account_name = input('\nWhat is the account name? \n') 

Im пытается осуществить проверку дубликатов против возвращаемого значения gather_accounts, в частности, в for цикле a[1] получает значение как Chase

Однако, когда я запустите этот скрипт, если я вхожу в Chase, он не попал: if prompt_account_name == a[1]

Как я могу исправить это, чтобы сравнить введенный пользователем val ue от prompt_account_name и сравнить его со значением в a[1]?

Благодаря

+0

Просьба указать [mcve], который демонстрирует проблему. – Kevin

+0

Является ли 'gather_accounts' списком кортежей из двух строк? –

+0

Этот снипп отлично работает для меня. Можете ли вы показать, как вы создаете gather_accounts и какая версия Python работает? –

ответ

0

Я предполагаю, что вы работаете в python2, если в python2, вам нужно использовать prompt_account_name = raw_input('\nWhat is the account name? \n') вместо prompt_account_name = input('\nWhat is the account name? \n') в этом случае.

Фактически, в Python3 input() эквивалентен raw_input() в Python2. Пока raw_input() удален в Python3.

+0

Это определенно Python3 –

+0

Если бы OP использовал 2.7, я ожидал бы, что он получит исключение 'NameError: name 'Chase' не определен'. Но он говорит, что он не ошибается. – Kevin

Смежные вопросы