2013-10-24 191 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:編輯我的答案 –