如何从列表中获得随机选择作为变量?

时间:2019-06-26 17:37:54

标签: python

我正在运行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")

2 个答案:

答案 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")