我目前正在通过Al Sweigart发明自己的电脑游戏,并参与第10章(刽子手游戏)。我无法使用while循环设置难度。目前它甚至不会在我的while循环下打印语句。如果我在困难时将其更改为!='':我可以让它打印声明并接受我的输入,但它仍然没有改变难度。这是代码:
difficulty = ''
while difficulty not in 'EMH':
print("Enter difficulty: E - easy, M - medium, H - hard.")
difficulty = input().upper()
if difficulty == 'M':
del HANGMAN_ART[8]
del HANGMAN_ART[7]
if difficulty == 'H':
del HANGMAN_ART[8]
del HANGMAN_ART[7]
del HANGMAN_ART[5]
del HANGMAN_ART[3]
感谢您的帮助。
答案 0 :(得分:2)
您需要修复while
循环有两个问题。首先是它从不首先运行,因为'' not in 'EMH'
最初评估为False
。第二个是您将difficulty
设置为input().upper
而不是input().upper()
。这是一个示例修复:
difficulty = ''
while True:
print("Enter difficulty: E - easy, M - medium, H - hard.")
difficulty = input().upper()
if difficulty in 'EMH':
break
正如Jared Goguen在评论中指出的那样,你也可以保持相同的循环条件但是改变初始输入。
difficulty = 'invalid_input'
while difficulty not in 'EMH':
...