亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

python找2-100之間的素數并輸出。你會用什么算法來解決這個問題?

python找2-100之間的素數并輸出。你會用什么算法來解決這個問題?

yuantongxin 2016-04-20 09:54:36
找2-100之間的素數并輸出。你會用什么算法來解決這個問題?
查看完整描述

2 回答

已采納
?
清波

TA貢獻165條經驗 獲得超90個贊

import?math


def?isprime(n):
????if?not?isinstance(n,int)?or?n<=1:
????????return?False
????for?i?in?range(2,int(math.sqrt(n)+1)):
????????if?n?%?i?==0:
????????????return?False
????return?True


result=[x?for?x?in?range(2,101)?if?isprime(x)]

解釋, 還是建議先定義判斷函數 ,命名為 pythonic 風格 isprime(), 然后用 列表推導式 生成結果吧, 或者將列表表達式包裝為函數?

def?prime_list(start,end):
????def?isprime(n):
????????if?not?isinstance(n,int)?or?n<=1:
????????????return?False
????????for?i?in?range(2,int(math.sqrt(n)+1)):
????????????if?n?%?i?==0:
????????????????return?False
????????return?True
????return?[x?for?x?in?range(start,end+1)?if?isprime(x)]
????
result?=?prime_list(2,100)

基本就這樣吧

查看完整回答
1 反對 回復 2016-04-20
?
_瀟瀟暮雨

TA貢獻646條經驗 獲得超225個贊

#?coding:?utf-8

def?isPrime(number):
????for?x?in?range(2,number/2):
????????if(number?%?x?==?0):
????????????return?False
????return?True

a?=?[]
for?x?in?range(2,101):
????if(isPrime(x)):
????????a.append(x)

print?a


查看完整回答
1 反對 回復 2016-04-20
  • 2 回答
  • 1 關注
  • 3396 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號