选择一个随机变量,然后在Python中再次选择它是否变得不可用?

选择一个随机变量,然后在Python中再次选择它是否变得不可用?,python,Python,我正在为一个化学项目制作一个小游戏,在这个游戏中,控制台从存储在变量中的20个问题中打印一个随机选择的问题,用户回答这个问题,然后这个问题就无法再次随机选择了。如果随机选择一个变量,然后不允许再次选择它,我该怎么做呢?如果你有一个名为lst的问题列表,你可以简单地做: import random random.shuffle(lst) 这会将列表随机排列成一个顺序。然后,每次需要提问时,都会从列表中删除最后一个元素: question = lst.pop() 如果您有一个名为lst的问题列表

我正在为一个化学项目制作一个小游戏,在这个游戏中,控制台从存储在变量中的20个问题中打印一个随机选择的问题,用户回答这个问题,然后这个问题就无法再次随机选择了。如果随机选择一个变量,然后不允许再次选择它,我该怎么做呢?

如果你有一个名为lst的问题列表,你可以简单地做:

import random
random.shuffle(lst)
这会将列表随机排列成一个顺序。然后,每次需要提问时,都会从列表中删除最后一个元素:

question = lst.pop()

如果您有一个名为lst的问题列表,您可以简单地执行以下操作:

import random
random.shuffle(lst)
这会将列表随机排列成一个顺序。然后,每次需要提问时,都会从列表中删除最后一个元素:

question = lst.pop()

试着这样做:

import random

your_questions = ['question %d' % i for i in range(20)]
random.shuffle(your_questions)

for question in your_questions:
    print question

试着这样做:

import random

your_questions = ['question %d' % i for i in range(20)]
random.shuffle(your_questions)

for question in your_questions:
    print question

听起来你是在寻找不需要更换的随机样品。你可以

import random

print random.SystemRandom().sample(L,20)
其中,L是您的问题列表,20是无需返回替换列表的随机列表的长度。这里,你的列表L是一个由20个字符串组成的列表,代表你的问题


注意:这将返回一个随机列表

听起来你在寻找不需要更换的随机样本。你可以

import random

print random.SystemRandom().sample(L,20)
其中,L是您的问题列表,20是无需返回替换列表的随机列表的长度。这里,你的列表L是一个由20个字符串组成的列表,代表你的问题


注意:这将返回一个随机列表

尽管@David Robinson的答案是最好的,但你也可以做如下事情:

随机输入 lst=[…]包含问题

现在,每当你需要一个问题:

choiceIndex = random.randint(0, len(lst)-1) # you want to do -1 since randint
choice = lst[choiceIndex]                   # is inclusive and indices start at 0
del lst[choiceIndex]

尽管@David Robinson的答案是最好的,但你也可以做如下事情:

随机输入 lst=[…]包含问题

现在,每当你需要一个问题:

choiceIndex = random.randint(0, len(lst)-1) # you want to do -1 since randint
choice = lst[choiceIndex]                   # is inclusive and indices start at 0
del lst[choiceIndex]

它们是否存储在列表中?它们是否存储在列表中?