1. 程式人生 > 實用技巧 >Python連續質數計算

Python連續質數計算

連續質數計算

描述

補充程式設計模板中程式碼,完成如下功能:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

獲得使用者輸入數字N,計算並輸出從N開始的5個質數,單行輸出,質數間用逗號,分割。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

注意:需要考慮使用者輸入的數字N可能是浮點數,應對輸入取整數;最後一個輸出後不用逗號。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

輸入輸出示例

輸入 輸出
示例 1
12
13,17,19,23,29

def prime(m):
    for i in range(2,m+1):
        if m%i == 0:
            break
    if i == m:
        return True
    else :
        return False
    

n 
= eval(input()) if n != int(n): n = int(n) + 1 else: n = int(n) cnt = 0 s = "" while cnt < 5: if prime(n) : cnt += 1 s += "{},".format(n) n += 1 print(s[:-1])

不輸出最後那個逗號,亦可這樣子:

ls = []
while cnt < 5:
    if prime(n) :
        ls.append(str(n))     #必須注意這個str()否則TypeError: sequence item 0: expected str instance, int found因為join是對字串的一個操作方法吧
        cnt 
+= 1 n += 1 print(','.join(ls))