我正在运行Python 2,因为有些奇怪的原因使它回到了我的编辑器中的Python 3,并且非常感谢你们
嘿,我正在尝试制作一个简单的猜谜游戏,其中random.choice从列表中返回一个项目,用户必须猜测它。我遇到的问题是,当我得到用户输入时,我得到的错误是猜测是名称错误,并且没有定义。我也希望用户继续猜测是否猜错了。谁能告诉我我在做什么错,谢谢您抽出宝贵的时间来帮助我。
import random
words = ('apple', 'banana', 'cherry')
word = random.choice(words)
guess = input("gues the word either apple banana or cherry: ")
if guess == word:
print("you won")
elif guess != word:
print("you lost")
else:
print("try again")
答案 0 :(得分:1)
words = ('apple', 'banana', 'cherry')
应该是
words = ['apple', 'banana', 'cherry']
使其成为列表。
要继续猜测,您需要使用while
循环来构建内容。通常,StackOverflow并非代码编写服务,而是特定错误的场所,或为人们提供帮助的正确方向。这样做,我建议您熟悉基本的数据结构,以此类为例:
https://www.codecademy.com/learn/learn-python
这是一个很好的起点(我在这里学习了基础知识)并且免费。欢迎来到StackOverflow!
答案 1 :(得分:0)
import random
words = ('apple', 'banana', 'cherry')
word = random.choice(words)
#Once the condition has been met, use break:
while True:
guess = input("gues the word either apple banana or cherry: ")
if guess == word:
print("you won")
break
else:
print("you lost, try again")
在您的情况下,没有elif和else语句是没有意义的,它永远不会到达else块:
if guess == word:
print("you won")
elif guess != word: # if guess is different than word it will print "you lost" and go out from if-elif-else statement it will never reach else block
print("you lost")
else:
print("try again")