2017-04-27 106 views
1

我的原代碼:簡化: (新stackflow,所以我道歉,如果這是錯誤的方式做到這一點),如果如何從多個列表打印單個RANDOM項目?並讓這些項目打印在同一行上?

import random 

count = 0 
while count < 50: 
    One = ['a', 'b', 'c', 'd', 'e'] 
    print(random.choice(One)) 

    Two =['a','b'] 
    print(random.choice(Two)) 

    Three =['a','b','c','d','e','f','g','h'] 
    print(random.choice(Three)) 

    Four =['a','b'] 
    print(random.choice(Four)) 
    count = count +1 

我的代碼打印的輸出自身的每一項目.. 我是一次運行的代碼(不WHILE COUNT LOOP),輸出內容如下:

例如:(隨機每次我運行代碼,完美)

ç

b

^h

一個

多次:(隨機次序,這是完美的我想要什麼)

d

一個

˚F

b

__

Ç

b

^h

一個

等等

問題: 什麼,我想代碼做的是,採取每個列表中的一個隨機項目[1,2,3,4] ...並打印出它們自己的隨機項目e間隔..所有在使用WHILE COUNT LOOP(生成的測試n個)

所以我想要它做的看起來像一個例子:

cagb

bbfa

DAEB

假設我的列表具有正確的名稱和相關值,將會顯示爲

輸出:

狗翻了個身

鳥吃種子

貓推出種子

車上坐了下來

蛇咬我

蜘蛛跑上

etc.etc。

(一些人的不有道理,但那是「隨機」的想法IM在

回答

0
import random 

count = 0 
while count < 50: 
    tmp = [] 
    for lst in [One, Two, Three, Four]: 
     tmp.append(random.choice(lst)) 
    print(' '.join(lst)) 
    count = count +1 
0

工作你也可以使用:

print(random.choice(One), end= " ") 

此行應「一刀切」新行字符