2013-10-24 155 views
0

我有一个简单的问题。我有以下代码...while loop is not working

def abc(c): 
    a = 1 
    my = set() 
    while a <= c: 
     b = randrange(1, 365) 
     my.add(b) 
     a = a + 1 
    print(my) 

现在c是我的主要功能。 c是提示用户的整数。例如,如果c = 10,那么只要一个< 10就会运行while循环并用1到365之间随机生成的10个数字打印出该集合。唯一的问题是它不能正确地打印出集合。

+0

'randint()'*包括*端点,让你获得1和366之间的随机值。如果你期望不包含结束点,使用'randrange()'。 –

+0

您的本地名称不匹配。 'my'与'mySet'不一样。 –

+0

答案已解决。我必须等待12分钟才能接受。谢谢你们 – user2908101

回答

2

a = a + 1应该是你想要的。

+0

谢谢,对不起,很快找出来。 – user2908101

0

a + 1只是递增a的值,但不会将其存储在任何地方。因此,使用a = a+1将增加a的值并更新a的值。

第二部分:您正在生成随机数并将它们存储在一个集合中,并最终打印出它们。要打印的每一个元素在列表中,使用方法:

for i in my: 
    print i 

这将在设定的打印每个值

+0

嘿,你知道我怎么能解决第二部分对我的问题@Aswin Murugesh – user2908101

+0

@ user2908101:编辑我的答案 –