2012-02-23 77 views
1

我正在研究一個簡單的Python遊戲,其中計算機會嘗試猜測您想要的數字。每次它猜到正確的答案時,它都會將答案保存到一個txt文件中。當程序再次運行時,它會首先猜測舊的答案(如果它們在用戶指定的範圍內)。從txt文件中隨機選擇一組項目

try: 
    f = open("OldGuesses.txt", "a") 
    r = open("OldGuesses.txt", "r") 
except IOError as e: 
    f = open("OldGuesses.txt", "w") 
    r = open("OldGuesses.txt", "r") 

data = r.read() 
number5 = random.choice(data) 
print number5 

當我運行該拉老答案,它抓住一個項目。就像說我有數字200,1242和1343,以及空格來區分它們,它會選擇一個空格或一個數字。任何想法如何抓住整個號碼(如200)和/或避免撿空間?

回答

1

r.read()調用讀取整個內容r並將其作爲單個字符串返回。你可以做的是結合使用列表理解r.readlines(),像這樣:

data = [int(x) for x in r.readlines()] 

該文件分解成線,每條線轉換爲整數。

+0

感謝順便說一句,這似乎它會工作完美:D 編輯:測試它,需要分解xP – asqapro 2012-02-23 02:36:27