Здравствуйте, у меня в последнее время были некоторые проблемы с ноутбуком jupyter, и мне интересно, если кто-нибудь знает, почему. перезапустите ядро. Затем он выполняет. Однако иногда это не приведет к правильному выполнению, даже если код верен. поэтому я перезапущу ядро и очисту свои выводы. Это обычно исправляет это. Теперь я работаю над этой проблемой, где я прошу пользователя ответить на математическую задачу, если его входная сумма верна, он скажет поздравляю, если неправильно, он скажет, что он ошибся. Изначально программа повторяла, что user_answer не был определен. Тогда это вообще не дало мне ошибки, но пропустило бы оператор if и просто распечатало оператор else: даже если ответ, данный пользователем, был правильным. это мой код? или это редактор, который я использую, и если да, то как я могу заставить его работать должным образом. Я пытаюсь выучить python и нахожу это немного разочаровывающим, потому что я не знаю, мой ли это код или редактор в половине случаев.
Вот мой код:
import random
number_1 = random.randint(1,250)
number_2 = random.randint(1,250)
def main():
ask_question()
check_answer(user_answer)
def ask_question():
user_answer = int( input( "What is " +\
str(number_1 )+ ' + ' +\
str( number_2 ) + '? '))
return user_answer
def check_answer( user_answer ):
correct_answer = number_1 + number_2
if user_answer == correct_answer:
print("Congratulations", user_answer, +\
"is correct!")
else:
print("Sorry that is not correct the" +\
" answer should be", correct_answer)
main()
outputs:
**most common one**
What is 126 + 250? 8 (enter)
----------------------------------------------------
-----------------------
NameError Traceback
(most recent call last)
<ipython-input-2-99955f4e983a> in <module>
29 " answer should be",
correct_answer)
30
---> 31 main()
32
<ipython-input-2-99955f4e983a> in main()
6 def main():
7 ask_question()
----> 8 check_answer(user_answer)
9
10 def ask_question():
NameError: name 'user_answer' is not defined
OR
I'll get this and i didn't change anything in my
code..
What is 126 + 250? 376 (enter)
Sorry that is not correct the answer should be 376