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...