【发布时间】:2026-01-22 18:30:01
【问题描述】:
您好,我最近在使用 jupyter notebook 时遇到了一些问题,想知道是否有人知道原因。
我有时会让程序不执行,它会有这个符号 [*] 所以我会重新启动内核。然后它执行。但是有时即使代码正确,它也不会产生正确的执行。所以我将重新启动内核并清除我的输出。这通常可以解决它。现在我正在解决这个问题,我要求用户回答一个数学问题,如果他们的输入总和是正确的,它会说如果错了它会说恭喜它会说他们得到了不正确的。该程序最初一直说 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
【问题讨论】:
标签: python-3.x function jupyter-notebook arguments return-value