擅长:python、mysql、java
<p><code>badanswer</code>是一个函数,而不是布尔值。您需要调用函数并获取其返回值,如:<code>if badanswer() is True</code></p>
<p>但是,退出程序的逻辑是不必要的。您根本不需要<code>badanswer</code>函数。只需从用户那里获取输入并检查它是“y”还是“n”。你知道吗</p>
<pre><code>while True: # loop for exit prompt
answer = input("Wanna keep using the calculator? y/n ").lower()
# using .lower() to permit 'Y' and 'N' as well
if answer == "n":
sys.exit()
elif answer == "y":
break
# exits from the 'exit prompt' loop,
# returns to the outside calculator loop
else:
print("Bad answer!")
</code></pre>
<p><strong>注意:</strong>如评论中所述,<code>sys.exit()</code>是退出程序的一种非常残酷的方式。您可以通过修改由外部计算器循环检查的变量来更优雅地执行此操作;例如,初始化变量<code>keep_running = True</code>,使用<code>while keep_running: (...)</code>运行主循环,如果用户请求退出计算器,请设置<code>keep_running = False</code>,以便主循环退出。你知道吗</p>