擅长:python、mysql、java
<p>我认为你需要做一个简单的调整:</p>
<pre><code>choice = GetMenuChoice()
</code></pre>
<p>目前,您从未更新<code>choice</code>,因此它无限期地递归。你知道吗</p>
<p>更广泛地说,我可能会采用迭代方法,并避免使用标志(<code>validchoice</code>):</p>
<pre><code>def GetValidMenuChoice():
display = menu.Menu("Student")
while True:
display.printMenu()
choice = GetMenuChoice()
if choice in range(1, 7):
return choice
else:
"Invalid choice, please try again."
</code></pre>
<p>理想情况下,我会删除硬编码的<code>range(1, 7)</code>,并使其依赖于<code>Menu</code>,但我无法从您发布的内容判断这是否可行。你知道吗</p>