2014-09-21 3 views
0

У меня есть один кусок моего кода, который позволяет пользователю удалить пару, которая уже находится в списке подсказок. Однако, когда я пытаюсь выполнением этого кода, ошибка появляется, и я не уверен, как решить этот ... Мой код для бита, который удаляет спаривание, как показывает ...Неисправность при удалении спаривания из списка

def delete_pairing(clues): 
    found = True 
    #USER INPUTS A LETTER AND SYMBOL 
    letter=input("What letter would you like to delete? ").upper 
    symbol=input("\nWhat symbol would you like to delete? ") 
    #THE LETTER AND SYMBOL THE USER INPUTS BECOMES ONE STRING 
    delClue = letter + symbol 
    #IF THE delClue exists in clues, it will delete the pairing 
    if delClue in clues: 
    #CODE FOR REMOVING THE CLUE 
     clues.remove(delClue) 
    # LETS THE USER KNOW WHAT CLUES HAS BEEN DELETED 
     print("\nClue ",(delClue)," has been deleted") 
     print("\nYour clues are now...") 
     print (clues) 
    #If delClue doesn't exist in clues, it will print an error message  
    else: 
     print("That clue does not exist ") 
    return clues 

Результат должен что если соединение букв и символов, которое вводит пользователь, находится в списке подсказок, то оно должно быть удалено. В противном случае, сообщение об ошибке должно произойти о том, что буква и символ сопряжения пользователь вошел, не существует в списке подсказок ....

Ошибка, которую я, имеющий ...

delClue = letter + symbol 
TypeError: unsupported operand type(s) for +: 'builtin_function_or_method' and 'str' 
+0

показать свою ошибку! – Kasramvd

+3

'upper' - это метод, добавьте'() 'после него, чтобы вызвать его. –

+0

Kasra - Я добавил его до конца моего вопроса ... – Paul

ответ

1

Как the comment of Ashwini Chaudhary состояния, вы забыли () в конце этой линии

буквы = вход («Какое письмо вы хотели бы удалить?») .upper

так что letter не является строкой типа, как и следовало ожидать, но вместо этого builtin_function_or_method (а именно upper() method of python's string type). И вы не можете связать его с другой строкой.

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