2016-12-13 2 views
-4

У меня возникают трудности при попытке вернуть функцию в начало. Мой код:Функции - TypeError: объект 'str' не может быть вызван

def questionFour(): 
    print("") 
    global questionsCorrect 
    global questionsIncorrect 
    print ("What is 4 + 4?") 
    questionFour = input (">> ") 
    if str.isdigit(questionFour): 
     if questionFour.lower() == ("8"): 
      questionsCorrect += 1 
      questionFive() 
     else: 
      questionsIncorrect += 1 
      questionFive() 
    else: 
     print ("That's not a number!") 
     questionFour() 

Я получаю этот вопрос:

Traceback (most recent call last): 
    File "[hidden]", line 330, in <module> 
    questionOne() 
    File "[hidden]", line 42, in questionOne 
    questionTwo() 
    File "[hidden]", line 53, in questionTwo 
    questionThree() 
    File "[hidden]", line 70, in questionThree 
    questionFour() 
    File "[hidden]", line 87, in questionFour 
    questionFour() 
TypeError: 'str' object is not callable 

Спасибо!

+1

'questionFour()' -> 'questionFour' –

+1

Пожалуйста, включите * full traceback *, чтобы мы могли видеть, какая строка вызвала это и как появился Python. –

ответ

5

Вы назначаете вопросЧерез номер questionFour = input .... Из-за видимости Python это будет оставаться истинным только внутри функции, но не позволяет вам рекурсивно ее вызывать. Выберите другое имя переменной для ввода.

+0

Это сработало. Благодаря! –

+0

Рад помочь! Не стесняйтесь принимать ответ, когда Stack Exchange позволяет вам. –

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