[問題] 找質數

看板Python作者 (彈塗魚)時間15年前 (2010/07/17 15:13), 編輯推噓2(202)
留言4則, 4人參與, 最新討論串1/1
大家好~我是自學的python新手 如果我想要找某個數目的質數 我想的辦法是下面所寫的 我的想法是如果要找a個質數 就只須找a*a個數 就一定找的到a個 但這樣的寫法 會將a*a個裡面的所有質數都找出來 因此 只將a個放到list裡再將質數print出來 可是最下面倒數第2行out of range 可否告知哪裡有誤呢 謝謝 a=int(raw_input("how many prime number do you want to find?")) b=0 e=[] while b<a: for n in range (2,a*a): for k in range (2,n): if n%k==0: break else: e=[n] b+=1 for d in range (0,a): print e[b] -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.104.230.79

07/17 15:33, , 1F
e=e+[n] print e[d] 吧?
07/17 15:33, 1F

07/17 15:40, , 2F
這樣是把e變成字串吧 我想要的是list的話要怎樣寫呢
07/17 15:40, 2F

07/17 16:15, , 3F
e=[n]這行註定e裡面只有一個元素,要依照一樓方法改
07/17 16:15, 3F

07/18 23:27, , 4F
有個建議,你的變數名字最好改一改,可讀性蠻差的…
07/18 23:27, 4F
文章代碼(AID): #1CGLWdG3 (Python)
文章代碼(AID): #1CGLWdG3 (Python)