2012-12-30 114 views
0

我必須爲一個項目進行測驗。我有這個問題和3個答案,但正確的答案總是出現在最前面。我如何洗牌我的答案?隨機訂單python

QS = [] 
for row in data: 
     row.append(2) 
     QS.append(row) 

while True: 
    x=random.randint(0,len(QS)-1) 
    if QS[x][2]>0: 
     print QS[x][0] 
     break 


while True: 
    if QS[x][2]>0: 
     print QS[x][1] 
     break 

while True: 
    xy=random.randint(0,len(QS)-1) 
    if xy!=x: 
     print QS[xy][1] 
     break 
while True: 
    xyz=random.randint(0,len(QS)-1) 
    if xyz!=xy and xyz!=xy: 
     print QS[xyz][1] 
     break 

回答

5

使用random.shuffle。首先創建一個有效的答案列表,並使用random.shuffle創建隨機洗牌

一個例子示範

>>> import random 
>>> ans = ['ans1', 'ans2', 'ans3'] 
>>> random.shuffle(ans) 
>>> ans 
['ans1', 'ans3', 'ans2'] 
+0

可以嘗試,如果可能的,如果需要我的代碼做到這一點,我可以給你所需要的信息這將是非常感激的 – user1938322