擅长:python、mysql、java
<p>假设您的<code>player_info</code>确实是全局定义的,下面是一个循环代码,直到输入了<code>player_info</code>字典中存在的名称,或者如果{<cd1>}最初为空,则返回失败的解释:</p>
<pre><code>def searchplayer():
print("===============SEARCH by player: Calculate average goals==================")
while len(player_info) > 0:
print("Please enter a valid player name:")
name = input("Player name : ")
if name in player_info.keys():
print ("Average player goals : ", str(sum(player_info[name].values())/3.0))
break
else:
print("No players found. Please add some first.")
print()
mainmenu()
</code></pre>
<p><strong>更新。</strong>要删除递归,必须用一个无限循环来包装菜单(您要用<code>sys.exit</code>退出,或者只使用<code>break</code>退出,如果这是直接从<code>main</code>调用的):</p>
^{pr2}$
<p>现在,您可以简单地从选项处理函数中删除对<code>mainmenu()</code>的所有调用(最后一行是<code>viewall</code>,<code>update</code>,<code>addplayers</code>和<code>searchplayer</code>)。在</p>