2013-12-09 100 views
1

我有四個我想打印出來的句子,例如。python中不同打印命令的打印順序

print 'I am here' 
print 'I like spring' 
print 'My house has two floors' 
print 'Sun is bright' 

我想讓程序在每次運行程序時以不同的順序打印出來。哪種做法最好?

感謝,

+3

將它們放入一個數組中,隨機洗刷數組,然後按順序打印數組。 – Barmar

回答

5

我喜歡random.shuffle這一點。它需要一個列表並將其隨機排序(如一副紙牌)。然後,您可以像打印任何其他列表一樣打印它們(使用for-loop)。

這將要求您先將它們放到一個字符串列表中,而不是僅僅具有打印語句。

import random 
ss = ['I am here', 'I like spring', 'My house has two floors', 'Sun is bright'] 
random.shuffle(ss) 
for s in ss: 
    print s 

這裏是一條線做一個可愛的方式。它使用隨機鍵上的排序來混洗列表,然後使用.join將四個字符串與換行符結合起來,然後將其打印出來。我建議你使用我的第一個建議,而不是這個。

import random 
print '\n'.join(sorted(['I am here', 'I like spring', 'My house has two floors', 'Sun is bright'], key=lambda *args: random.random()))