2017-10-29 187 views
0

我正在創建一個電源球發生器。我對Python很陌生。Python:Powerball Gen.列表的追加列表

我想要5個號碼加上力量球號碼。一切正常,直到我嘗試添加PB:(random int)。我可以得到PB:(#)添加到結束列表(random_data)。但在添加PB時遇到問題:#列表中的每個列表(list_length)的末尾(random_data)。

旺旺:[1,2,3,4,5,PB:8],[2,3,5,9,21,PB:4],...

## 

from random import randint 
import random 

print("PowerBall Generator") 
number_of_lists=randint(5,5) 

random_data = [] 
for number in xrange(0,number_of_lists):  
    list_length=randint(5,5) 
    random_data.append(sorted(random.sample(xrange(54), list_length))) 
for t in range(number_of_lists): 
    for list in str(random_data): 
     r=randint(1,31) 
     list_length.append[str("PB: ")+str(r)] 

for s in str(number_of_lists): 
    print(random_data) 
+1

_having trouble added PB:#to list of list(list_length)in the list(random_data)_的結尾,爲什麼?什麼是錯誤? – scharette

回答

0

你正在嘗試做了很多不止是必要的。

如果您要說randint(5,5),則不需要使用randint,這意味着您需要一個5到5之間的隨機整數,這是多餘的。

list_length.append[str("PB: ")+str(r)]:這裏您試圖將字符串轉換爲字符串,這也是多餘的,並且在調用append方法時,您還意外地使用了括號而不是括號。

您也只需要一個循環來創建您的列表,其中我們通過將主列表按照我們所在循環的編號索引主列表來附加內部列表。

我相信以下幾點能夠實現你想要的。

from random import randint, sample 

print("PowerBall Generator") 

tickets = [] 
for number in range(5):  
    tickets.append(sorted(sample(range(54), 5))) 
    r=randint(1,31) 
    tickets[number].append("PB: " +str(r)) 

for ticket in tickets: 
    print(ticket)