2016-05-16 56 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

相关问题