这是我用作示例的程序的简化版本。
我知道使用 GOTO 是不好的做法,因为它会导致代码草率和混乱,但是它非常适合解决我遇到的这个问题(问题在帖子底部详细说明)。
def prompt():
while True:
user_input = raw_input:
if input == '?':
print help_o
elif not user_input.isalpha():
print "You entered bad characters"
elif user_input == 'r': ##Restart
???????????
else:
return user_input
load_word_list() ##Load words into list
for word in wordList: ##Loop that needs to restart
for i in range(5):
to_speak = "Spell, %s" %word
subprocess.Popen(['espeak', to_speak])
answer = prompt()
if answer != word:
print "You got it wrong"
#Print results
在提示符处,我想重新加载 wordList 列表并重新启动外部 for 循环。
使用 GOTO,我可以代替 ????... GOTO load_word_list()。
但既然这是 Python(而且 Python 是关于好代码的),那么解决这个问题的 Python 方法是什么?