Я просто учился кодировать, и я работаю над личным проектом, дополняющим мою классную работу - викторину, которая также поможет мне запомнить мой немецкий словарь. Сейчас мне трудно понять, как сделать эту вещь самой. Вот код, который я пытаюсь изменить:Python: TypeError: неподдерживаемый тип операндов для +: 'int' и 'function'. Трудность управления возвращаемой переменной?
def dialogue (question,response,score):
if question == response:
print ("Correct! ")
score = 1
else:
print ("Correct answer: " + response)
score = 0
return score
score = dialogue
currentScore = 0
currentScore = currentScore + score
question = raw_input ("Good morning ")
response = ("guten morgen")
dialogue(question,response,score)
print currentScore
Моя полная ошибка выглядит следующим образом:
Traceback (most recent call last):
File "C:/Users/Burgess/Desktop/COLLEGE FOLDER/scoreMod.py", line 12, in <module>
currentScore = currentScore + score
**TypeError: unsupported operand type(s) for +: 'int' and 'function'**
Все это вздор об определении счет становится немного длительным. Я могу посмотреть, как это сделать, чтобы работать как модуль. Я также хочу попытаться преобразовать его, чтобы дать обратную связь за значение%, но, я думаю, я могу справиться с этими проблемами самостоятельно. Прямо сейчас, я предпочел бы исправить эту проблему, прежде чем усложнить код.
Кто-нибудь, кто может помочь мне понять это? Я скрывался на форумах, и я нашел еще одну проблему с похожим названием, но я не думаю, что наши проблемы имеют аналогичную резолюцию.
@vaultah: не совсем, поскольку 'dialog()' принимает 3 аргумента. Почему это требует 'score', поскольку аргумент не ясен. –
И поскольку 'dialog()' * is * вызывается позже, неясно, почему 'score = dialog' есть * вообще *. –