2016-05-16 53 views
0

我正在嘗試處理這個示例問題,詢問用戶他們想要生成多少個電源球票,然後它只爲他們做。如何根據用戶輸入循環x次數

到目前爲止,我有以下幾點:

import random 

first_five_nums = range(1, 54) # first five number possibilities 
powerball_nums = range(1, 43) # powerball number possibilities 
num_to_select = 5 # to select 5 random numbers for the ticket 

five_generated_nums = random.sample(first_five_nums, num_to_select) # first five numbers 
powerball_generated = random.choice(powerball_nums) # powerball number 

print ("Please enter the amount of Powerball tickets you would like to be generated..") 
num_tickets = int(raw_input("Number of tickets: ")) 

for i in num_tickets(): 
    print ("Your numbers: %s, Powerball: %s") % (five_generated_nums, powerball_generated) 

當我嘗試運行此,我得到了以下錯誤:

Traceback (most recent call last): 
    File "D:\aa_grimes\my_python_works\powerball_generator.py", line 13, in <module> 
    for i in num_tickets(): 
TypeError: 'int' object is not callable 

我有點新的Python,和避風港」除了wh以外,還有很多指導在我設法學習的過程中,出於這個原因,我完全陷入了僵局。我會感謝任何人的幫助。謝謝!

+0

後,我試過了,我得到:'類型錯誤: '詮釋' 對象不iterable' – Nick

+0

對不起,'因爲我在範圍內(num_tickets)',在範圍內當然 – schwobaseggl

+0

嘗試'因爲我的(num_tickets) '。 –

回答

0

要迭代到一個值,使用範圍和xrange函數。

for i in range(num_tickets) 
+0

這樣做後,代碼確實運行,但現在當打印x個唯一門票號碼和電源球號碼時,它僅打印相同票號和電源球號碼次數。 像這樣: '你會門票多少等產生:3' '你的號碼:1 32 22 34 5電源球號碼:6' '你的號碼:1個32 22 34 5電源球號碼: 6' '你的號碼:1 32 22 34 5電源球號碼:6' – Nick

+0

我找到了解決上述問題的方法..我只是將生成器變量移到for循環中,現在我每次都得到唯一的輸出。 非常感謝您的幫助! – Nick

3

變化for i in num_tickets():for i in xrange(num_tickets):

num_tickets是整數。 xrange(num_tickets)生成序列0,1,... num_tickets - 1

+0

感謝您的協助! – Nick

相關問題