python
2012-03-07 142 views 1 likes 
1

我只是想編寫一個簡單的腳本,從源打印每行1到10個單詞。我知道這應該是超級簡單,但我有一個大腦放屁。這是我最好的猜測:打印每行文字的隨機數

import random 

s = open("somefile.txt").readlines() 

for line in s: 
    line.strip() 
    rand_int = rand.randint(1,10) 
    sentence = ''.join(s,rand_int) 
    print sentence 

具體來說,我只是遇到問題搞清楚如何告訴蟒紋字的隨機組的每行時間的隨機數。這是一個列表理解可能有幫助嗎?

我會很感激任何幫助,你可以給。謝謝!

+0

通過隨機分組的單詞,你的意思是來自你的來源的一行的話嗎? – 2012-03-07 00:58:38

+0

在這一點上,我不在乎它的亂碼,我的意思是將文件拆分成單詞(我剛纔意識到我沒有包含在我的代碼中),然後在每行上打印一個隨機數字(1,10) 。 – spikem 2012-03-07 01:05:05

回答

2

嘗試以下方法:

import random 

with open("somefile.txt", "rb") as f: 
    for line in f: 
     print ' '.join(random.sample(line.strip().split(), random.randint(1, 10))) 

這裏是random.sample()的文檔的一部分:

random.sample(人口ķ
       返回a k長度lis t從種羣序列中選擇獨特的元素。用於無需更換的隨機抽樣。

因此,我們可以通過分割上的空白行創建​​,然後隨機k,這應該給你你在找什麼。

+0

你是對的,我誤解了這個問題:)請注意,如果我將這個改變合併到我自己的答案中? – 2012-03-07 01:06:56

+0

@NiklasB。 - 一點也不。 – 2012-03-07 01:09:12

相關問題