日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

2020.9.30 PYTHON 自复习笔记

發布時間:2023/12/8 python 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2020.9.30 PYTHON 自复习笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前記: 2019年4月的時候曾經自學Python,當時學習的原因是為了追隨同學的步伐,但是稍微入門之后,發現在比賽中沒法提交Python語言,所以至今為止基本未曾使用過,現在學習人工智能需要使用Python來實現,于是在此通過之前學習做的筆記記錄復習(主要是對比與c++的不同與python自帶的強大功能)。

PYTHON 快捷取消注釋的按鍵

PYTHONa=[0,2,3] """'''[],{},()可多行'''"""if a[0]:print("answer")print("answer") else:print("answer1")input("\n") # 如果input("\n")則為輸入之后輸出空格print("answer")"""單引號,雙引號都可以引字符串,""""""三個雙引號或者三個單引號一般表示多行注釋"""# 單行注釋一般用#'''空行用于區分不同函數入口,但是沒有空行也不會報錯,只是便于日后維修'''b=1b=input('輸入b:'); print(b) # 同行輸入多語句時用分號隔開print(b,b) # 在變量末尾加逗號則可不換行輸出K=P=W="Hello" # 同時為多個變量賦值k,p,w=1,2,3 # 多個對象指定多個變量print(K,P,W)print(k,p,w)del a # 刪除a用于eval()用于返回表達式的值; 還可用于提取純數字的字符串中的數字 >>>x = 7 >>> eval( '3 * x' ) 21 >>> eval('pow(2,2)') 4 >>> eval('2 + 2') 4 >>> n=81 >>> eval("n + 4") 85 # eval()函數表示把里邊的數字提取出來 a=eval(input("asdown152")) print(a)import turtle # 引入turtle庫painter=turtle.Turtle()painter.pencolor("blue")painter.speed(100)for i in range(120):painter.forward(80)painter.right(100)painter.forward(80)painter.right(100)painter.forward(80)painter.penup()painter.setposition(0,0)painter.pendown()painter.right(3)turtle.exitonclick() # 鼠標點擊關閉繪圖窗口import turtle turtle.pensize(2) #畫筆大小 turtle.speed(100) turtle.color('blue') # 常用顏色:whilte,black,grey,darkgreen,gold,violet,purple,blue,red,yellow turtle.penup() # 抬起畫筆 turtle.setposition(-300,100) #設置位置 turtle.pendown() # 放下畫筆lu = 80 for count in range (12):for amount in range (5):turtle.forward(lu)turtle.right(144)lu += 50 turtle.exitonclick()s = "PYTHON" s[-1]='N' s[0:3]="PYT" s[0]='P' if elif #(if 以及else if) p = 5 if (p == 5) and (p == 9): # or相當于|| and相當于&&pass if s == "PYTHON": #(執行) pass(占位符) **表示冪運算 //表示地板除法(舍去小數部分,返回數字比商小的最接近的數字 a[n,m,k]表示獲取下標n到下標m [n+k,n+2k...m](均表示下標)def getmin(x , y): # def為函數前綴if x < y :ans = xelif x > y:ans = yelse : return 0return ansdef main(): # 主函數a = input("輸入a:")b = input("輸入b:")a = eval(a)b = eval(b)x = getmin(a,b)print("a與b中較的是:",x)ki = lambda a, b: a > b# lambda為特殊函數(匿名函數),用于簡單的能在一行內表達的函數,計算結果為返回值(可直接在要使用的主函數中定義)# 方法:函數名 = lambda 參數列表 : 表達式tof = ki(a, b)# 用一個參數來接收lambda函數 ,括號引入參數if __name__ == '__main__': # 慣例:一般這樣引用main函數, 兩個下劃線加一個變量名再加兩個下劃線相當于一個特殊的變量名main()i = 10 while i : # 使用方法while 條件 : 表達式print(i)i = i - 1 intp = input("輸入intp,輸入Q時退出程序") while intp != 'Q':print(intp)import turtleturtle.pensize(2) # 畫筆大小 turtle.speed(50) turtle.color('blue') # 常用顏色:whilte,black,grey,darkgreen,gold,violet,purple,blue,red,yellow turtle.penup() # 抬起畫筆 turtle.setposition(-300, 100) # 設置位置 turtle.pendown() # 放下畫筆def draw(lu): # 遞歸繪制N個五角星if lu >= 400:returnfor amount in range(5):turtle.forward(lu)turtle.right(144)draw(lu+50)import turtledef draw_tree(ps,branch_length):if ps <= 0: returnturtle.pensize(ps)if branch_length <=40:turtle.pencolor('green')if branch_length > 5 :turtle.forward(branch_length)turtle.right(25)draw_tree(ps-3,branch_length-25)turtle.right(20)draw_tree(ps-3,branch_length-25)turtle.left(20)turtle.left(50)draw_tree(ps-3,branch_length-25)turtle.left(20)draw_tree(ps-3,branch_length-25)turtle.right(20)turtle.right(25)turtle.backward(branch_length)turtle.pencolor('brown')def main():turtle.speed(1000)turtle.penup()turtle.setposition(0,-200)turtle.left(90)turtle.pendown()turtle.pencolor('brown')draw_tree(17,150)turtle.exitonclick()if __name__ == '__main__':main()type()用于判斷數據類型,int(),double(),str()等用于強行轉換 print() 里面空則為輸出空行 str.find() 為找到括號里面的字符下標 str.split() 為以括號里面的字符進行分割:如a = 's k l h' ,a.split(' ')則可獲得數組(list['s','k','l','h'],下標為0,1,2,3k = 'nmsl' p = 'wsnd' s = 'hjyz' print('站格符{},{},{}'.format(k,p,s)) # 在print里面用{}表示站格,在''結束后面打.format()即可將括號里的在{}位置輸出 {0}表示輸出.format()里第0個位置,{1}表示輸出第一個位置...... 字符串*2結果是在原先字符串后面再加一個相同的字符串try: # 嘗試運行以下代碼,如果出現錯誤,則執行以下錯誤列表代碼 ,ValueError,TypeError,KeyError,IndexError等等pass # 代碼塊 except ValueError: # 如果數據錯誤則執行以下pass # 代碼塊 except IndexError: # 如果下標錯誤(超下標及其他)pass # 代碼塊 except: # 其他錯誤pass # 代碼塊import math l1 = [] # 聲明一個空list l1 = [0,1,2,3,4] # list數據類型 del l1[0] # 刪除l1[0] l1 += l1 # 兩個list相加為把后面的加載前面 l1 *= 2 # 把list里的數據乘2放在最后面 len(l1) # 獲取數組大小 2 in l1 # 判斷2是否在l1中 l1.append(5) # 將5加在l1尾部 l1.sort # 將l1排序 l1.reverse() # 將l1逆序 l1.index(5) #返回5的下標 l1.insert(2,'k') # 將'k'插入到第2個位置 l1.count(3) # 返回3在數組中的數量 l1.remove(4) # 刪除數組中最前的4 l1.pop(2) # 取出l1第2個位置的元素并且將其刪除k = math.pi # 圓周率 math.ceil(5.2) # 對5.2向上取整 math.floor(5.2) #對5.2向下取整 math.pow(2,5) # 求2的5次方 math.sqrt(9) # 求x的平方根 math.fsum(l1) # 對l1中元素求和for <x> in <list>: # 循環次數為list序列長度,x第一次為list[0]...到list[n]<body> # 代碼塊 for <x> in range <y>: # x從0開始到y<body>在函數中使用全局變量要在前面加 global 表示使用的是全局變量import datetime # datetime庫 ,datetime里還有datetime庫,可以直接import datetime.datetime nowtime = datetime.datetime.now() #獲取當前系統時間 ,類型為datetime.datetime str = '2019.04.10' getstrtime = datetime.datetime.strptime(str, format('%Y.%m.%d')) print(getstrtime) # 根據格式來獲取字符串中的時間,'.'可替換,'Y'為4位的年份,'y'為2位,'m'為月份,'d'為日 y = getstrtime.year m = getstrtime.month d = getstrtime.day # 獲取年月日 year, weektime, weekday = getstrtime.isocalendar() # 獲取年,第幾周,周幾三個數字, # getstrtime.isocalendar()[1] 表示獲取第2個數字 print(year, weektime, weekday) print(datetime.datetime.strftime(nowtime,'%Y/%m/%d')) # 把datetime.datetime 類型轉換成字符串t = (1,2,3) # tuple 元組數據類型 一旦被創建就不能夠修改 ,用逗號和圓括號表示如:('red','blue'),(1,2,3)等 訪問方式與列表相同,元組中數據類型可以不同,可用于函數多返回值:return a,b sum()用于求和其中列表的數字 如: day = 5 t = (21,21,33,66,25,84,92,31) print(sum(t[:day-1]))l = [1,0,3] l = set(l) # 把l變成集合,集合其他操作與元組,列表相同 p = {5,6,3,1} # 集合元素不重復且無序, 用于去重 print(l-p) # l-p或者l.difference(p) 返回在l中,不在p中的元素 # s&t 或s.intersection 返回s和t的交集元素 # s|t 或s.union(t) 返回s和t的并集元素 # s^t 或s.symmetric_difference(t) 返回s并t-s交t的元素 if 3 in l: # 判斷元素是否在集合里直接用inl.remove(3)d = dict() # 字典類型,相當于map d['kiss'] = 520 # 添加 del d['kiss'] # 刪除 if 'kiss' in d: # 判斷'kiss'是否存在d里print(d['kiss']) for key in d: # 遍歷d所有的keypass for value in d.values(): # 遍歷所有的valuepass for item in d.items(): # 遍歷所有的數據項passwhile (True):str1 = input('輸入密碼:')strength = 0length = len(str1) # 獲取字符串長度if length >= 8: strength += 1if str1.isnumeric() == False: strength += 1 # 判斷字符串是否只由數字組成if str1.isalpha() == False: strength += 1 # 判斷字符串是否只由字母組成if strength == 3:print('密碼符合要求')f = open('E:\python讀入測試文本.txt', 'a') # open(filename,mode) 文件名+打開模式,(文件名包括路徑, 打開模式:r:只讀,w:只寫,a:在文件末尾附加,r+:讀寫)f.write('合格的密碼:{},密碼強度:{}'.format(str1,strength))f.close()breakelse:print('密碼不符合要求')f = open('E:\python讀入測試文本.txt', 'a') # open(filename,mode) 文件名+打開模式,(文件名包括路徑, 打開模式:r:只讀,w:只寫,a:在文件末尾附加,r+:讀寫)f.write('不合格的密碼:{},密碼強度:{}'.format(str1,strength))f.close()continuef = open('E:\python讀入測試文本.txt', 'r') # read()返回值為包含整個文件內容的一個字符串 readline()返回值為文件下一行內容的字符串 readlines()返回值為整個文件內容的列表list,list每項以換行符為結尾的一行字符串 for line in f.readline(): # 文件的遍歷pass # 處理一行數據 for line in f: # 文件的遍歷pass # 處理一行數據 f.close()class filetool:def __init__(self,filepath): # 要傳進文件路徑self.filepath = filepathdef writetofile(self,line):f = open(self.filepath,'a')f.write(line)f.close()def readfromfile(self):f = open(self.filepath,'r')lines = f.readlines()f.close()return linesclass passwordtool: # 類的聲明def __init__(self,passw): # 初始化構造函數,self表示類本身(相當于this指針)# 類的屬性直接在這里聲明即可self.password = passwself.strenth_level = 0# 每個類函數參數最好第一個寫selfdef progress(self):if self.checkletter:self.strenth_level += 1if self.checknumber():self.strenth_level += 1if len(self.password) >= 8:self.strenth_level += 1if self.strenth_level == 3:print('密碼符合要求')filet = filetool('E:\python讀入測試文本.txt')filet.writetofile('合格的密碼:{},密碼強度:{}\n'.format(self.password, self.strenth_level))else:print('密碼不符合要求')filet = filetool('E:\python讀入測試文本.txt')filet.writetofile('不合格的密碼:{},密碼強度:{}\n'.format(self.password, self.strenth_level))# open(filename,mode) 文件名+打開模式,(文件名包括路徑, 打開模式:r:只讀,w:只寫,a:在文件末尾附加,r+:讀寫)def checkletter(self):for c in self.password:if c.isalpha():return Truereturn Falsedef checknumber(self):for x in self.password:if x.isnumeric():return Truereturn Falsedef main():while True:passwt = passwordtool(input('輸入密碼:'))passwt.progress()filet = filetool('E:\python讀入測試文本.txt')lines = filet.readfromfile()print(lines)returnif __name__ == '__main__':main()import random random() # 生成[0,1.0)之間的隨機浮點數 random.uniform(a,b) # 生成a到b之間的隨機浮點數 random.randint(a,b) # 生成a到b之間隨機整數 random.choice(<list>) # 從list列表里隨機返回一個元素 random.shuffle(<list>) # 將列表中的元素打亂 k = [1,2,3,4,5,6,7,8,9,9] print(random.sample(k,5)) # 從list列表里隨機獲取k個元素for i, result in enumerate(list): # enumerate()返回列表或者元組的兩個數據:一個是下標一個是該下標對應的元素print('下標:{},元素:{}'.format(i,result))l1 = list(range(1,6)) # range 是1到n-1,所以要1到n要寫n+1 l2 = ['a','b','c','d','e'] k = zip(l1,l2) # zip用于將兩個列表連接起來成為n個元組為元素的列表:[(1,'a')...] ,不可修改,若要修改則要轉換成字典:dict(zip(l1,l2)) d = dict(zip(l1,l2)) print(d)繪制散點圖 import matplotlib.pyplot as plt # matplotlib是一個數據可視化函數庫,matplotlib的子模塊pyplot提供了2d圖表制作的基本函數 plt.rcParams['font.san-serif'] = ['SimHei'] # 要輸出中文時要把字體更改,否則不行 plt.rcParams['axes.unicode_minus'] = False for x,y in range(1,10):plt.scatter(y,x,c='red',alpha=0.5) # x,y是x跟y的坐標alpha是透明度,c是顏色 k = [10,15,12,4,8,3] # 直方圖,k為高度,bins為每項的間距,normed為概率求和,edgecolor邊緣線顏色,linewidth為每條邊緣線間距 plt.hist(k,bins=range(1,7),normed=1,edgecolor='black',linewidth=1) plt.title('統計') # 標題 plt.xlabel('x') # 設置x軸名稱為x plt.ylabel('s') # 同上 plt.show()import numpy as np # arr = np.random.randint(1,10,(3,4)) # 表示生成1到9,三行四列個隨機數(直接寫一個整型就是一列) # # numpy的數組可以直接相加,如矩陣加法 # print(arr)i=input() j=input() u=eval(i) v=eval(j) l = 0 r = 1 while r**u <= v:l = rr = r*2 while l+1 < r:m = (l+r)//2if m**u <= v:l = melse: r = m if r**u <= v: print(r) else: print(l)print(r"D:\three\two\one") //r后面的字符串表示原始字符串,轉義字符不再生效

總結

以上是生活随笔為你收集整理的2020.9.30 PYTHON 自复习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。