python中用filter求素數的時候,這裡的篩選函式是

2021-04-18 23:09:07 字數 594 閱讀 5487

1樓:匿名使用者

首先定義一個函式判斷是否為素數,如果這個數能被2~它的平方根中專的任一數整除的話它就不是屬素數,否則就是素數。用flag為0或1標記,利用filter()篩掉flag為0的非素數。

#!/usr/bin/env python

#coding:utf-8

import math

def filter_prime(n):    #定義filter_prime函式

flag = 1    #設定flag,初始化為1

for i in range(2, int(math.sqrt(n)+1)):     #取2至平方根的數

if n%i == 0:    #判斷是否是素數

flag = 0     #如果不是,flag設為0

if flag == 1:        #退出迴圈後判斷flag,若為1(素數),則返回

return n

print filter(filter_prime, range(1,101))    #filter 1-100裡的非素數

2樓:匿名使用者

回答中對於素數的定義是錯誤的

用python程式設計求1 ,用python程式設計求1 1 2 1 3 1 4 1 5 累加和,資料項小於0 1時停止

def summa summ 0 for i in range 1,100 fl 1.0 i if fl 0.1 summ fl else print the sum is summreturn sum summa 注意縮排 def iteritem limit x 1.while 1 v 1 x ...

求黑馬程式設計師python教程

python全棧開發與人工智慧之python開發基礎知識學習內容包括 python基礎語法 資料型別 字元編碼 檔案操作 函式 裝飾器 迭代器 內建方法 常用模組等。免費課程備用 p3。iitv。vip 黏貼瀏覽器 自學python基礎到就業課程 新 關注供粽號 python程式設計資源庫 pyth...

在c語言中用do while或while求1到10的階乘之和

include int main void printf 10的階乘是 ld n result return 0 include int main void printf d n sum return 0 int fun int n 求n的階乘 1.do while 語句版權 int sum 0 i...