Python學習日記 2020 12 24

2022-07-10 16:33:13 字數 2715 閱讀 6472

1. continue和break區別—補充:

break:用於跳出迴圈,不會再指定之後的語句,如for後面的else,此時所在的迴圈體已經結束。

for n in range(100,1,-1):

if n%2==0:

continue #此處的continue只是結束本次的迴圈,又回到上一級的for迴圈,如輸入4時

for i in range(3,int(n**0.5)+1,2):

if n%i==0:

else:

print(n)

break #此處的break是結束其上一級的for迴圈,如輸入97時

以下是幾個例子,說明break的位置和縮排的重要性

#輸出(1,100]中所有的奇數

for n in range(100,1,-1):

for i in range(2,n):

if n%i==0:

break #結束上一級for迴圈,如100

else:

print(n,end=' ')

break #結束上一級for迴圈,如99

#輸出100以內所有素數

for n in range(100,1,-1):

for i in range(2,n):

if n%i==0:

break #只是結束上一級for迴圈,如100

else:

print(n,end=' ')

#輸出100以內最大的素數

for n in range(100,1,-1):

for i in range(2,n):

if n%i==0:

break #只是結束上一級for迴圈,如100

else:

print(n,end=' ')

break #輸出之後結束上一級for迴圈,如97

2. 水仙花數

題目描述:輸出所有3位「水仙花數」。所謂n位水仙花數是指1個n位的十進位制數,其各位數字的n次方之和等於該數本身。例如:153是水仙花數,因為153 = 1的3次方+5的3次方+3的3次方

#使用map將i的百位,十位,個位取出

for i in range(100, 1000):

bai, shi, ge = map(int, str(i))

if ge**3 + shi**3 + bai**3 == i:

print(i)

#首先將數字轉化為字串,再對映到lambda表示式中,直接轉化為int型且計算其三次方,最後使用求和函式對map所有對映結果進行求和

for num in range(100, 1000):

if sum(map(lambda x:int(x)**3, str(num))) == num:

print(num)

#filter()將乙個單引數函式作用到乙個序列上,返回的是函式返回值為true組成的filter物件

result = filter(lambda num: sum(map(lambda i: int(i)**3,str(num)))==num,range(100, 1000))

for num in result:

print(num)

#擴充套件到n位水仙花數:

n = int(input('請輸入位數:')) #注意要將輸入的數轉換為int型別

for num in range(10**(n-1), 10**n):

if sum(map(lambda i: int(i)**n, str(num))) == num:

print(num)

3. string模組ascii_letters、digits

4. 內聚和耦合

5. 新函式學習:

函式名語法

作用說明

epr()

repr(object)

將物件轉化為供直譯器讀取的形式

object為物件

6. 關於self,init(self,a,b),init(self)

self是指例項本身,有兩種格式,一種是有引數的,另一種是沒有引數的,舉例如下:

class student:

#只有例項本身,沒有屬性值——更適用於原來為空的結構

def __init__(self):

self.name = none

self.score = none

#包含例項和屬性值——輸入時必須輸入值,所有適合對資料進行匯入(本來有資料)

def __init__(self, name, score):

self.name = name

self.score = score

#呼叫方法

#只有例項本身需要進行例項化,之後再輸入引數

student = student()

student.name= "mini"

student.score = 90

#有例項和屬性值可以在例項化時直接輸入引數

student = student("mini", 90)

C 學習筆記2020 1

在c語言中可以通過結構體名來定義變數,在 c 中可以通過類名來定義變數。不同的是,通過結構體定義出來的變數還是叫變數,而通過類定義出來的變數有了新的名稱,叫做物件 object 物件是類的乙個例項 instance iostream.h 用於控制台輸入輸出標頭檔案。fstream.h 用於檔案操作的...

python學習日記

動態語言和靜態語言最大的不同,就是函式和類的定義,不是編譯的時候定義的,而是執行時動態建立的.直接在類中定義的是類屬性,如 class student object name student 例項屬性必須通過例項繫結。如self.age xx 根據python的規則,定義時千萬不要把類屬性和例項屬性...

python學習日記

第一章 起步 第二章 變數和簡單資料型別 安裝vm模擬機和windows的python3.8.2和geany,編寫第乙個hello world。課後題,自動隨時排盤,自動解析每宮的程式。排盤,每宮每個專案代表含義,能量表示,時間動態變化 歷史查詢 print 輸出 n hello 變數 n.titl...