python以随机顺序显示项目

python以随机顺序显示项目,python,random,Python,Random,我是python的初学者,我已经为我编写的一个闪存卡游戏编写了这段代码。下面的代码只是其中的一小部分 remove = 0 while remove < 2: a = random.choice(list(key)) if (a) == line27: print(a) x = input(random.choice(defi))

我是python的初学者,我已经为我编写的一个闪存卡游戏编写了这段代码。下面的代码只是其中的一小部分

remove = 0
        while remove < 2: 
            a = random.choice(list(key))    
            if (a) == line27:
                print(a)
                x = input(random.choice(defi))
                x = input(random.choice(defi))
                x = input(line28)

                if x == ('c'):
                    remove = remove + 1
                    print('you got it right')
                    score = (score + 1)
                    print('score =', score)
                if x == ('b', 'a'):
                    print('thats wrong')
                print()
                t = t + 1

                if remove == 2:
                    key.remove(line27)
在每次显示时以随机顺序显示。因此,两个随机选择必须显示在不同的位置,第28行也是如此。
这两个随机选择在一个列表中,第28行在另一个列表中,如果有帮助的话。

这样的东西足够了吗?这似乎是你想要的,但我真的不知道

def randomInput(list):
    randIdx = random.randint(0, len(list)-1)
    in = input(list[randIdx])
    list.remove(randIdx)
    return in, list

inputs = [random.choice(defi), random.choice(defi), line28]
x, inputs = randomInput(inputs)
x, inputs = randomInput(inputs)
x, inputs = randomInput(inputs)
此外,正如Burhan Khalid所说,x永远不会等于元组('b','a')。。。我想你的意思是

x == 'b' or x == 'a'

有几件事:
x
将始终是最后一个赋值语句的结果,
input
这里并没有做您认为应该做的事情
x
永远不会等于元组
('b','a')
;最后,你忘了问一个问题。当你运行这个代码时会发生什么?您可能看到了意外的输出?我猜你是在要求用户提供随机输入?如果没有更大的上下文,很难判断您期望的是什么,并且x总是等于输入(第28行),因此对x的前两个赋值是多余的。“defi”中包含什么?第28行和第27行是什么?什么是t?这似乎没有用。。。我很想帮你,但是你必须先更清楚地定义这个问题。我知道输入的作用,因为我已经在这里测试了它,它工作得很好。对不起,代码运行得很好,但我只需要知道如何使我展示给你的那些东西在每次显示时都以不同的顺序运行。我将编辑这个问题,我可以把整个代码放到400多行中。你要不要我也加进去?
x == 'b' or x == 'a'