2017-11-18 179 views
-1

我想製作一個程序,其中.txt文件的行會得到一個隨機順序。以隨機順序放置txt文件的行。

這是我的代碼至今:

diction = {} 
def selecteer_random_elftal(): 
    lijnen = open("bronmateriaal\\Spelers.txt").readlines() 
    key = 0 
    while lijnen != "": 
     diction[key] = lijnen 
     key =+ 1 
    print("{0}: {1}".format(diction[key],diction[lijnen])) 
selecteer_random_elftal() 

當我這樣做,我沒有得到任何結果,但我不明白爲什麼?

感謝您提前的幫助,非常感謝!

+1

'而lijnen = 「」:!' - 因爲你不改變'內循環linjen',這將不僅不會啓動或永遠不會結束。鑑於'readlines'不會返回一個字符串,我會說後者。 – jonrsharpe

回答

0

如何使用random.shuffle()並將它傳遞給所有行的列表?

例如:

import random 

with open('input.txt') as f_input: 
    lines = f_input.read().splitlines() 
    random.shuffle(lines) 
    print '\n'.join(lines) 
0

因爲lijnen永遠不爲空,如果你的文件不是空的。

因此這種情況下while lijnen != "":將總是等同於

while True: 

因此,你的程序將永遠不會到來while循環了。所以,沒有結果!

如果讓程序繼續運行,很可能是您的系統耗盡了資源(或某物)。