python基础教程--代码集合(上)
文章目錄
- 1.轉(zhuǎn)義字符與原字符
- 2.二進(jìn)制與字符編碼
- 3.二進(jìn)制編碼
- 4.變量定義
- 4.數(shù)據(jù)類型
- 5.浮點(diǎn)數(shù)類型
- 6.布爾類型
- 7.字符串類型
- 8.數(shù)據(jù)類型轉(zhuǎn)換
- 9.注釋功能
- 10.標(biāo)識(shí)符和保留字
- 11.input輸入
- 12.從鍵盤錄入兩個(gè)整數(shù),計(jì)算兩個(gè)整數(shù)的和
- 13.運(yùn)算符
- 14.賦值運(yùn)算符
- 15.比較運(yùn)算符
- 16.位運(yùn)算符
- 17.順序結(jié)構(gòu)
- 18.測(cè)試對(duì)象的布爾值
- 19.選擇結(jié)構(gòu)
- 20.雙分支結(jié)構(gòu)
- 21.多分支結(jié)構(gòu)
- 22.if嵌套
- 23.比較兩個(gè)整數(shù)大小
- 24.占位符pass
- 25.range三種創(chuàng)建方式
- 26.while循環(huán)結(jié)構(gòu)
- 27.for-in循環(huán)
- 28.水仙花數(shù)
- 29.break流程控制語(yǔ)句
- 30.九九乘法表
- 31. 流程控制語(yǔ)句break與contine在二重循環(huán)中的使用
- 32.列表list
- 33.index索引
- 34.in 或not in
- 35.append、extend、insert列表添加元素
- 36.remove、pop、clear、del刪除元素
- 37.sort、reverse排序
本文所給出的代碼是自己整理出來(lái)的python基礎(chǔ)學(xué)習(xí)的一些資料,包括一些功能和例子,都均有代碼進(jìn)行舉例分析,在python代碼中也進(jìn)行了詳細(xì)注釋,幫助大家理解。學(xué)完這些大概就已經(jīng)入門python了
1.轉(zhuǎn)義字符與原字符
常用的轉(zhuǎn)義字符串
無(wú)法直接表示的字符串
換行 \n newline 光標(biāo)移動(dòng)到下一個(gè)字符串開頭
回車 \r return光標(biāo)移動(dòng)到本行的開頭
水平制表符 \t tab鍵,光標(biāo)移動(dòng)到下一組4個(gè)空格的開始處。滿4個(gè)補(bǔ)充空格
退格 \b 鍵盤上的backspace鍵,回退一個(gè)字符
在字符串中有特殊用途的字符串
反斜杠 \
單引號(hào) ’
雙引號(hào) "
結(jié)果:
hello world hello world world hellworld http:\www.baidu.com http:\\www.baidu.com teacher say :"hello" teacher say :'hello' hello\nworld hello\nworld\\2.二進(jìn)制與字符編碼
#二進(jìn)制與字符編碼# 8bit =1byte 字節(jié) # 1024byte = 1KB 千字節(jié) # 1024KB = 1MB 兆字節(jié) # 1024 MB =1GB 吉字節(jié) # 1024GB = 1TB 太字節(jié)# 二進(jìn)制0 ,1 # ASCLL --GB2312(80年推出--簡(jiǎn)體中文) -- GBK(90年推出--簡(jiǎn)體中文,繁體)--GB18030(00年推出--簡(jiǎn)體中文,繁體,藏文等等) # 其他國(guó)家的字符編碼--Unicode幾乎包含了全世界的字符(所有的均為2個(gè)字節(jié)) -- UTF-8(中文3個(gè)字節(jié),英文一個(gè)字節(jié))3.二進(jìn)制編碼
# 字符和文字都有對(duì)應(yīng)的二進(jìn)制編碼,并且計(jì)算機(jī)只能識(shí)別二進(jìn)制數(shù) print(chr(0b100111001011000))# print(ord('乘'))結(jié)果
乘 200564.變量定義
# 變量的定義和使用 # 變量是內(nèi)存中一個(gè)帶標(biāo)簽的盒子 name = '瑪利亞' # 兩者是有區(qū)別的,第一個(gè)是打印標(biāo)簽的內(nèi)容,第二個(gè)是打印標(biāo)簽 print(name) print('name') # 變量由三部分組成 # 標(biāo)識(shí):表示對(duì)象所存儲(chǔ)的內(nèi)存地址,使用內(nèi)置函數(shù)id(obj)來(lái)獲取 # 類型:表示的是對(duì)象的數(shù)據(jù)類型,使用內(nèi)置函數(shù)type(obj)來(lái)獲取 # 值:表示對(duì)象所存儲(chǔ)的具體數(shù)據(jù),使用print(obj)可以將值進(jìn)行打印輸出 print('標(biāo)識(shí):',id(name)) print('類型:',type(name)) print('值:',name)結(jié)果
瑪利亞 name 標(biāo)識(shí): 2173827241232 類型: <class 'str'> 值: 瑪利亞4.數(shù)據(jù)類型
整數(shù)類型
英文名 integer,簡(jiǎn)寫為int,可以表示正數(shù)、負(fù)數(shù)和0
整數(shù)的不同表示方式
十進(jìn)制 默認(rèn)的進(jìn)制
八進(jìn)制 以0o開頭
十六進(jìn)制 以0x開頭
結(jié)果
90 <class 'int'> -76 <class 'int'> 0 <class 'int'> 十進(jìn)制 118 二進(jìn)制 11111111 error model 二進(jìn)制 255 八進(jìn)制 126 十六進(jìn)制 655355.浮點(diǎn)數(shù)類型
# 浮點(diǎn)數(shù)類型 a =3.14 print(a,type(a)) # 圓周率π import math b = math.pi print(b,type(b))n1 = 1.1 n2 = 2.2 n3 = 2.1 print(n1+n2,'不正常') print(n1 +n3,'正常')from decimal import Decimal print(Decimal(n1)+Decimal(n2),'不正常') print(Decimal('1.1')+Decimal('2.2'),'正常')結(jié)果
3.14 <class 'float'> 3.141592653589793 <class 'float'> 3.3000000000000003 不正常 3.2 正常 3.300000000000000266453525910 不正常 3.3 正常6.布爾類型
布爾類型
用來(lái)表示真或者假的值
True表示真,False表示假
布爾類型可以轉(zhuǎn)化為整數(shù)
True --> 1
False -->0
結(jié)果
True <class 'bool'> False <class 'bool'> 2 1 # 布爾運(yùn)算bool a,b=1,2 print('-'*20,'and 與運(yùn)算 需要兩者都為真才為真','-'*20) print(a==1 and b==2) print(a==1 and b<2) print(a!=1 and b==2) print(a!=1 and b!=2) print()print('-'*20,'or 或運(yùn)算 需要兩者都為假才為假','-'*20) print(a==1 or b==2) print(a==1 or b<2) print(a!=1 or b==2) print(a!=1 or b!=2)print('-'*20,'not 非運(yùn)算 取反','-'*20) f = True f2 = False print(not f,'取反') print(not f2,'取反')print('-'*20,'in 和 not in 在或者不在里面','-'*20) s='helloworld' print('w' in s,'表示w在s中為真') print('k' is s,'表示k在s中為假') print('w' not in s,'表示w不在s中為假') print('k' not in s,'表示k不在s中為真') # 布爾運(yùn)算bool a,b=1,2 print('-'*20,'and 與運(yùn)算 需要兩者都為真才為真','-'*20) print(a==1 and b==2) print(a==1 and b<2) print(a!=1 and b==2) print(a!=1 and b!=2) print()print('-'*20,'or 或運(yùn)算 需要兩者都為假才為假','-'*20) print(a==1 or b==2) print(a==1 or b<2) print(a!=1 or b==2) print(a!=1 or b!=2)print('-'*20,'not 非運(yùn)算 取反','-'*20) f = True f2 = False print(not f,'取反') print(not f2,'取反')print('-'*20,'in 和 not in 在或者不在里面','-'*20) s='helloworld' print('w' in s,'表示w在s中為真') print('k' is s,'表示k在s中為假') print('w' not in s,'表示w不在s中為假') print('k' not in s,'表示k不在s中為真')結(jié)果
-------------------- and 與運(yùn)算 需要兩者都為真才為真 -------------------- True False False False-------------------- or 或運(yùn)算 需要兩者都為假才為假 -------------------- True True True False -------------------- not 非運(yùn)算 取反 -------------------- False 取反 True 取反 -------------------- in 和 not in 在或者不在里面 -------------------- True 表示w在s中為真 False 表示k在s中為假 False 表示w不在s中為假 True 表示k不在s中為真進(jìn)程已結(jié)束,退出代碼07.字符串類型
字符串又被稱為不可變的字符序列
可以使用單引號(hào)’’ 雙引號(hào)"" 三引號(hào)’’’ ‘’’ 或者""""""來(lái)定義
單引號(hào)和雙引號(hào)定義的字符串必須在一起
三引號(hào)定義的字符串可以分布在連續(xù)的多行
結(jié)果
人生苦短,我用python <class 'str'> 人生苦短,我用python <class 'str'> 人生苦短, 我用python <class 'str'> 人生苦短, 我用python <class 'str'>8.數(shù)據(jù)類型轉(zhuǎn)換
# 數(shù)據(jù)類型轉(zhuǎn)換 name = '張三' age= 20print(type(name),type(age)) # 說(shuō)明name與age的數(shù)據(jù)類型不相同 # print('我叫'+name+'今年'+age+'歲') 當(dāng)將str與int類型進(jìn)行連接時(shí),報(bào)錯(cuò),解決方案,類型轉(zhuǎn)換 print('我叫'+name+'今年'+str(age)+'歲','\n當(dāng)將str與int類型進(jìn)行連接時(shí),報(bào)錯(cuò),解決方案,類型轉(zhuǎn)換')# 將其他類型轉(zhuǎn)換成str print('-'*20,'str()將其他類型轉(zhuǎn)化為str類型','-'*20) a=10 b=198.8 c=False print(type(a),type(b),type(c),"原來(lái)字符串類型")print(str(a),str(b),str(c),'將其他字符串類型轉(zhuǎn)換為str類型') print(type(a),type(b),type(c),'為什么這里沒(méi)有轉(zhuǎn)換成功還是原來(lái)的類型?因?yàn)閍,b,c的數(shù)據(jù)類型是原始數(shù)據(jù)類型') print(str(a),str(b),str(c),type(str(a)),type(str(b)),type(str(c)),'需要操作在同一命令行下,通過(guò)轉(zhuǎn)換數(shù)據(jù)類型為str')print('-'*20,'int()將其他的數(shù)據(jù)類型轉(zhuǎn)換為int類型','-'*20) s1='128' f1=98.7 s2='77.77' f2=True s3='hello' print(type(s1),type(f1),type(s2),type(f2),type(s3)) print(int(s1),type(int(s1)),'將字符串類型轉(zhuǎn)化為整數(shù)型(int)') print(int(f1),type(int(f1)),'這里不能用type(f1),這樣的話還是float類型數(shù)據(jù)','float轉(zhuǎn)成int類型截取整數(shù)部分,舍棄小數(shù)部分') #print(int(s1),type(int(s2)))字符串型小數(shù)不能直接轉(zhuǎn)成Int類型 print(int(float(s2)),type(int(float(s2))),'先將字符串類型轉(zhuǎn)成浮點(diǎn)型,再將浮點(diǎn)型轉(zhuǎn)換為int類型') print(int(f2),type(int(f2))) #print(int(s3),type(int(s3)),'將str轉(zhuǎn)換為int類型時(shí),字符串必須為數(shù)字串(整數(shù)),非數(shù)字串是不允許轉(zhuǎn)換的')print('-'*20,'float()函數(shù)將其他類型數(shù)據(jù)轉(zhuǎn)換成float類型','-'*20) s11='128.22' s22='76' f22=True s33='hello' i=98 print(type(s11),type(s22),type(f22),type(s33),type(i),'輸出原來(lái)的字符串類型') print(float(s11),type(float(s11)),'字符串類型的浮點(diǎn)數(shù)轉(zhuǎn)為浮點(diǎn)數(shù)') print(float(s22),type(float(s22)),'字符串類型的整數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)') print(float(f22),type(float(f22)),'布爾類型轉(zhuǎn)換為浮點(diǎn)型') # print(float(s33),type(float(s33)),'字符串類型不能轉(zhuǎn)換為浮點(diǎn)型') print(float(i),type(float(i)),'整數(shù)類型轉(zhuǎn)換為浮點(diǎn)型')結(jié)果
<class 'str'> <class 'int'> 我叫張三今年20歲 當(dāng)將str與int類型進(jìn)行連接時(shí),報(bào)錯(cuò),解決方案,類型轉(zhuǎn)換 -------------------- str()將其他類型轉(zhuǎn)化為str類型 -------------------- <class 'int'> <class 'float'> <class 'bool'> 原來(lái)字符串類型 10 198.8 False 將其他字符串類型轉(zhuǎn)換為str類型 <class 'int'> <class 'float'> <class 'bool'> 為什么這里沒(méi)有轉(zhuǎn)換成功還是原來(lái)的類型?因?yàn)閍,b,c的數(shù)據(jù)類型是原始數(shù)據(jù)類型 10 198.8 False <class 'str'> <class 'str'> <class 'str'> 需要操作在同一命令行下,通過(guò)轉(zhuǎn)換數(shù)據(jù)類型為str -------------------- int()將其他的數(shù)據(jù)類型轉(zhuǎn)換為int類型 -------------------- <class 'str'> <class 'float'> <class 'str'> <class 'bool'> <class 'str'> 128 <class 'int'> 將字符串類型轉(zhuǎn)化為整數(shù)型(int) 98 <class 'int'> 這里不能用type(f1),這樣的話還是float類型數(shù)據(jù) float轉(zhuǎn)成int類型截取整數(shù)部分,舍棄小數(shù)部分 77 <class 'int'> 先將字符串類型轉(zhuǎn)成浮點(diǎn)型,再將浮點(diǎn)型轉(zhuǎn)換為int類型 1 <class 'int'> -------------------- float()函數(shù)將其他類型數(shù)據(jù)轉(zhuǎn)換成float類型 -------------------- <class 'str'> <class 'str'> <class 'bool'> <class 'str'> <class 'int'> 輸出原來(lái)的字符串類型 128.22 <class 'float'> 字符串類型的浮點(diǎn)數(shù)轉(zhuǎn)為浮點(diǎn)數(shù) 76.0 <class 'float'> 字符串類型的整數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù) 1.0 <class 'float'> 布爾類型轉(zhuǎn)換為浮點(diǎn)型 98.0 <class 'float'> 整數(shù)類型轉(zhuǎn)換為浮點(diǎn)型9.注釋功能
在代碼中對(duì)代碼的功能進(jìn)行解釋性說(shuō)明的注釋性文字,可以提高代碼的可讀性
注釋的內(nèi)容會(huì)被Python解釋權(quán)忽略
通常包括三種類型的注釋
單行注釋 -->以“#”開頭,直到換行結(jié)束
多行注釋 -->并沒(méi)有單獨(dú)的多行注釋標(biāo)記,將一堆三引號(hào)之間的代碼成為多行注釋
中文編碼聲明注釋 ——>在文件開頭加上中文聲明注釋,用以指定源碼文件的編碼格式
快捷鍵:ctrl+?
單行注釋
結(jié)果
在代碼的第一行輸入 #coding:gbk,可以將默認(rèn)的utf-8的格式轉(zhuǎn)為ANSI格式 中文的編碼方式寫在代碼的第一行,聲明代碼格式,編碼聲明10.標(biāo)識(shí)符和保留字
python標(biāo)識(shí)符和保留字
保留字在給對(duì)象取名字的時(shí)候都不能用
結(jié)果
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] 這些關(guān)鍵字不能作為變量名使用,會(huì)報(bào)錯(cuò)11.input輸入
# 輸出函數(shù) present = input('想要什么禮物:') print(present,type(present))
12.從鍵盤錄入兩個(gè)整數(shù),計(jì)算兩個(gè)整數(shù)的和
a= input('請(qǐng)輸入第一個(gè)數(shù):') b=input('請(qǐng)輸入第二個(gè)數(shù):') print(type(a),type(b),'這里可以看到a和b都是字符串而不是整數(shù)類型')print(a+b,'這里的a+b是連接作用,而不是加法,需要對(duì)類型進(jìn)行轉(zhuǎn)換') print(int(a)+int(b),'這里對(duì)字符類型進(jìn)行轉(zhuǎn)換后就可以進(jìn)行加減')# 或者這樣更簡(jiǎn)單 c=int(input('請(qǐng)輸入第三個(gè)數(shù):')) d=int(input('請(qǐng)輸入第四個(gè)數(shù):')) print(c+d)結(jié)果
請(qǐng)輸入第一個(gè)數(shù):11 請(qǐng)輸入第二個(gè)數(shù):12 <class 'str'> <class 'str'> 這里可以看到a和b都是字符串而不是整數(shù)類型 1112 這里的a+b是連接作用,而不是加法,需要對(duì)類型進(jìn)行轉(zhuǎn)換 23 這里對(duì)字符類型進(jìn)行轉(zhuǎn)換后就可以進(jìn)行加減 請(qǐng)輸入第三個(gè)數(shù):11 請(qǐng)輸入第四個(gè)數(shù):12 2313.運(yùn)算符
# python中常用的運(yùn)算符 # 算數(shù)運(yùn)算符 標(biāo)準(zhǔn)算數(shù)運(yùn)算符、取余運(yùn)算符、冪運(yùn)算符 # 賦值運(yùn)算符 # 比較運(yùn)算符 # 布爾運(yùn)算符 # 位運(yùn)算符# 標(biāo)準(zhǔn)算數(shù)運(yùn)算符 print(1+1,'加法運(yùn)算a+b') print(1-1,'減法運(yùn)算a-b') print(2*4,'乘法運(yùn)算a*b') print(11/2,'除法運(yùn)算a/b') print(11//2,'整除運(yùn)算a//b') print(11%2,'取余運(yùn)算a/b的余數(shù)') print(2**3,'次方運(yùn)算a^b')結(jié)果
2 加法運(yùn)算a+b 0 減法運(yùn)算a-b 8 乘法運(yùn)算a*b 5.5 除法運(yùn)算a/b 5 整除運(yùn)算a//b 1 取余運(yùn)算a/b的余數(shù) 8 次方運(yùn)算a^b print(9//4) print(-9//-4)print(9//-4,'一正一負(fù)的整數(shù)公式,向下取整') print(-9//4,'一正一負(fù)的整數(shù)公式,向下取整')print(9%-4,'公式 余數(shù)=被除數(shù)-除數(shù)*商,即9-(-4)*(-3)=-3') print(-9%4,'公式 余數(shù)=被除數(shù)-除數(shù)*商,即-9-(4)*(-3)=-3')結(jié)果
2 2 -3 一正一負(fù)的整數(shù)公式,向下取整 -3 一正一負(fù)的整數(shù)公式,向下取整 -3 公式 余數(shù)=被除數(shù)-除數(shù)*商,即9-(-4)*(-3)=-3 3 公式 余數(shù)=被除數(shù)-除數(shù)*商,即-9-(4)*(-3)=-314.賦值運(yùn)算符
# 賦值運(yùn)算符 a= 3+4 print(a)a=b=c=20 #鏈?zhǔn)劫x值print(a,id(a)) print(b,id(b)) print(c,id(c))print('-'*20,'支持參數(shù)賦值','-'*20) d=20 print(d,'輸出原始的d值') d+=30 #相當(dāng)于a=a+30 print(d,'d+=30輸出d=d+30') d-=10 print(d,'d-=10,輸出d=d-10') d*=2 print(d,'d*=2輸出d=d*2') print(type(d))print('-'*20,'解包賦值','-'*20) a,b,c=10,20,30 print(a,b,c,type(a),type(b),type(c),id(a),id(b),id(c)) # 交換前 print('交換之前:',a,b) # 交換 a,b=b,a print('交換之后:',a,b)結(jié)果
7 20 140734984135680 20 140734984135680 20 140734984135680 -------------------- 支持參數(shù)賦值 -------------------- 20 輸出原始的d值 50 d+=30輸出d=d+30 40 d-=10,輸出d=d-10 80 d*=2輸出d=d*2 <class 'int'> -------------------- 解包賦值 -------------------- 10 20 30 <class 'int'> <class 'int'> <class 'int'> 140734984135360 140734984135680 140734984136000 交換之前: 10 20 交換之后: 20 1015.比較運(yùn)算符
# 比較運(yùn)算符 a,b=10,20 print('a>b嗎?',a>b) print('a<b嗎?',a<b) print('a>=b嗎?',a>=b) print('a<=b嗎?',a<=b) print('a==b嗎?',a==b) print('a!=b嗎?',a!=b)''' 一個(gè)等號(hào)表示賦值運(yùn)算符,==表示比較運(yùn)算符 一個(gè)變量由三部分組成:標(biāo)識(shí),類型,值 ==比較的是值還是標(biāo)識(shí)呢?比較的是值 比較對(duì)象的標(biāo)識(shí)使用is ''' a=10 b=10 print(a==b,'a==b','說(shuō)明a與b的value相等') print(a is b,'a==b','說(shuō)明a與b的id標(biāo)識(shí)相等')lst1=[11,22,33] lst2=[11,22,33] print(lst1 == lst2,'表示value值相等') print(lst1 is lst2,'表示id不相同') print(id(lst1),id(lst2)) print(a is not b,'表示a與b的id不相等') print(lst1 is not lst2,'表示a與b的值相等')結(jié)果
a>b嗎? False a<b嗎? True a>=b嗎? False a<=b嗎? True a==b嗎? False a!=b嗎? True True a==b 說(shuō)明a與b的value相等 True a==b 說(shuō)明a與b的id標(biāo)識(shí)相等 True 表示value值相等 False 表示id不相同 2186371158408 2186371158920 False 表示a與b的id不相等 True 表示a與b的值相等16.位運(yùn)算符
# 位運(yùn)算符號(hào) print(4&8,'二進(jìn)制:4的二進(jìn)制為0100,8的二進(jìn)制為1000','位運(yùn)算符:相同為1') print(4|8,'或|,同為0時(shí)結(jié)果為0') print(4<<1,'向左移動(dòng)一位,相當(dāng)于乘以2') print(4<<2,'向左移動(dòng)兩位,相當(dāng)于乘以4')print(4>>1,'向右移動(dòng)一位,相當(dāng)于除以2') print(4>>2,'向右移動(dòng)兩位,相當(dāng)于除以4')print('-'*20,'運(yùn)算符的優(yōu)先級(jí):算數(shù)運(yùn)算>位運(yùn)算>比較運(yùn)算>布爾運(yùn)算>賦值運(yùn)算','-'*20) print('有括號(hào)先計(jì)算括號(hào)里的')結(jié)果
0 二進(jìn)制:4的二進(jìn)制為0100,8的二進(jìn)制為1000 位運(yùn)算符:相同為1 12 或|,同為0時(shí)結(jié)果為0 8 向左移動(dòng)一位,相當(dāng)于乘以2 16 向左移動(dòng)兩位,相當(dāng)于乘以4 2 向右移動(dòng)一位,相當(dāng)于除以2 1 向右移動(dòng)兩位,相當(dāng)于除以4 -------------------- 運(yùn)算符的優(yōu)先級(jí):算數(shù)運(yùn)算>位運(yùn)算>比較運(yùn)算>布爾運(yùn)算>賦值運(yùn)算 -------------------- 有括號(hào)先計(jì)算括號(hào)里的17.順序結(jié)構(gòu)
# 順序結(jié)構(gòu) print('-'*10,'程序打開','-'*10) print('1.打開冰箱') print('2.把大象放進(jìn)冰箱') print('3.把冰箱門關(guān)上') print('-'*10,'程序結(jié)束','-'*10)結(jié)果
---------- 程序打開 ---------- 1.打開冰箱 2.把大象放進(jìn)冰箱 3.把冰箱門關(guān)上 ---------- 程序結(jié)束 ----------18.測(cè)試對(duì)象的布爾值
# 測(cè)試對(duì)象的布爾值 print('-'*10,'以下對(duì)象的布爾值為False','-'*10) print(bool(False)) print(bool(0)) print(bool(0.0)) print(bool(None)) print(bool('')) print(bool("")) print(bool([]),'空列表') print(bool(list()),'空列表') print(bool(()),'空元組') print(bool(tuple()),'空元組') print(bool({}),'空字典') print(bool(dict()),'空字典') print(bool(set()),'空集合')print('-'*10,'其他對(duì)象的布爾值為True','-'*10)結(jié)果
---------- 以下對(duì)象的布爾值為False ---------- False False False False False False False 空列表 False 空列表 False 空元組 False 空元組 False 空字典 False 空字典 False 空集合 ---------- 其他對(duì)象的布爾值為True ----------進(jìn)程已結(jié)束,退出代碼019.選擇結(jié)構(gòu)
# 選擇結(jié)構(gòu) # 銀行取錢-->雙分支結(jié)構(gòu) money = 1000 s = int(input('請(qǐng)輸入取款金額:')) if money >=s:money = money - sprint('取款成功,余額為:',money,'元') else:print('取款失敗,請(qǐng)重新輸入取款金額','您的總余額為',money,'元','請(qǐng)輸入小于等于',money,'元的金額')s = int(input('請(qǐng)重新輸入取款金額:'))money = money - sprint('取款成功,余額為:', money, '元')結(jié)果
請(qǐng)輸入取款金額:100 取款成功,余額為: 900 元20.雙分支結(jié)構(gòu)
# 雙分支結(jié)構(gòu) # 在系統(tǒng)錄入一個(gè)整數(shù),編寫程序讓計(jì)算機(jī)判斷是奇數(shù)還是偶數(shù) num = int(input('請(qǐng)輸入一個(gè)整數(shù):'))if num %2 == 0:print(num,'是偶數(shù)') else:print(num,'是奇數(shù)')結(jié)果
請(qǐng)輸入一個(gè)整數(shù):99 99 是奇數(shù)21.多分支結(jié)構(gòu)
# 多分支結(jié)構(gòu) 多選一執(zhí)行 # 錄入整數(shù)成績(jī) print('90-100 A\n','80-89 B\n','70-79 C\n','60-69 D\n','0-59 E\n','大于100或者小于0的為非法整數(shù)') score = int(input('請(qǐng)輸入一個(gè)成績(jī):'))# 判斷語(yǔ)句 if score>=90 and score<=100:# 或者用90<=score<=100形式print(score,'分為A') elif score>=80 and score<=89:print(score,'分為B') elif score>=70 and score<=79:print(score,'分為C') elif score>=60 and score<=69:print(score,'分為D') elif score <60 and score>=0:print(score,'分為E') else:print('輸入錯(cuò)誤,請(qǐng)重新輸入')結(jié)果
90-100 A80-89 B70-79 C60-69 D0-59 E大于100或者小于0的為非法整數(shù) 請(qǐng)輸入一個(gè)成績(jī):100 100 分為A22.if嵌套
# 嵌套if # 會(huì)員 大于等于200 8折 # 大于等于100 9折 # 不打折 # 非會(huì)員 大于等于200 9.5折 # 不打折 answer=input('您是會(huì)員嗎?y/n:') money=float(input('請(qǐng)輸入您的購(gòu)物金額:')) if answer=='y':#會(huì)員print('會(huì)員')if money>=200:print('付款金額為:',money*0.8,'元')elif money>=100:print('付款金額為:',money*0.9,'元')else:print('不打折,付款金額為:',money,'元') else: #非會(huì)員print('非會(huì)員')if money>=200:print('打9.5折,付款金額為:',money*0.95,'元')else:print('不打折,付款金額為:',money,'元')結(jié)果
您是會(huì)員嗎?y/n:y 請(qǐng)輸入您的購(gòu)物金額:100 會(huì)員 付款金額為: 90.0 元23.比較兩個(gè)整數(shù)大小
# 錄入兩個(gè)整數(shù),比較兩個(gè)整數(shù)大小 a=int(input('請(qǐng)輸入第一個(gè)整數(shù):')) b=int(input('請(qǐng)輸入第二個(gè)整數(shù):'))# # 比較大小 # if a >=b: # print(a,'大于等于',b) # else : # print(a,'小于',b) # # 使用條件表達(dá)式進(jìn)行比較 print( str(a)+'大于等于'+str(b) if a>=b else str(a)+'小于'+str(b)) print('這個(gè)與上面的是相同的,條件表達(dá)式簡(jiǎn)化操作')結(jié)果
請(qǐng)輸入第一個(gè)整數(shù):22 請(qǐng)輸入第二個(gè)整數(shù):25 22小于25 這個(gè)與上面的是相同的,條件表達(dá)式簡(jiǎn)化操作24.占位符pass
# pass語(yǔ)句,一個(gè)占位符,用到需要寫語(yǔ)句的地方 answer = input('您是會(huì)員嗎?y/n:')# 判斷是否為會(huì)員 if answer=='y':pass else:pass結(jié)果
您是會(huì)員嗎?y/n:y進(jìn)程已結(jié)束,退出代碼025.range三種創(chuàng)建方式
# range()三種創(chuàng)建方式 print('range(stop), 創(chuàng)建一個(gè)[0,stop)之間的整數(shù)序列,步長(zhǎng)為1') print('rang(start,stop), 創(chuàng)建一個(gè)[start,stop)之間的整數(shù)序列,步長(zhǎng)為1') print('rang(start,stop,step), 創(chuàng)建一個(gè)[start,stop)之間的整數(shù)序列,步長(zhǎng)為step') print() print('-'*20,'range(a),表示從0到a,不包括a,步長(zhǎng)為1','-'*20) r=range(10) print(r) print(list(r),'默認(rèn)從0開始,步長(zhǎng)為1') print('-'*20,'range(a,b),表示從a到b,不包括b,步長(zhǎng)為1','-'*20) r=range(1,10) print(list(r)) print('-'*20,'range(a,b,c),表示從a到b,不包括b,步長(zhǎng)為c','-'*20) r=range(1,10,2) print(list(r)) print('-'*20,'判斷指定的整數(shù)在序列中是否存在 in 或者not in','-'*20) print(10 in r) print(9 in r) print(10 not in r) print(9 not in r) print('range()類型的優(yōu)點(diǎn):不管range對(duì)象表示的整數(shù)序列有多長(zhǎng),所有的range對(duì)象占用的內(nèi)存空間都是相同的,因?yàn)閮H僅需要存儲(chǔ)start,stop和step,只有當(dāng)用到range對(duì)象時(shí),才會(huì)計(jì)算序列中的相關(guān)元素')結(jié)果
range(stop), 創(chuàng)建一個(gè)[0,stop)之間的整數(shù)序列,步長(zhǎng)為1 rang(start,stop), 創(chuàng)建一個(gè)[start,stop)之間的整數(shù)序列,步長(zhǎng)為1 rang(start,stop,step), 創(chuàng)建一個(gè)[start,stop)之間的整數(shù)序列,步長(zhǎng)為step-------------------- range(a),表示從0到a,不包括a,步長(zhǎng)為1 -------------------- range(0, 10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 默認(rèn)從0開始,步長(zhǎng)為1 -------------------- range(a,b),表示從a到b,不包括b,步長(zhǎng)為1 -------------------- [1, 2, 3, 4, 5, 6, 7, 8, 9] -------------------- range(a,b,c),表示從a到b,不包括b,步長(zhǎng)為c -------------------- [1, 3, 5, 7, 9] -------------------- 判斷指定的整數(shù)在序列中是否存在 in 或者not in -------------------- False True True False range()類型的優(yōu)點(diǎn):不管range對(duì)象表示的整數(shù)序列有多長(zhǎng),所有的range對(duì)象占用的內(nèi)存空間都是相同的,因?yàn)閮H僅需要存儲(chǔ)start,stop和step,只有當(dāng)用到range對(duì)象時(shí),才會(huì)計(jì)算序列中的相關(guān)元素進(jìn)程已結(jié)束,退出代碼026.while循環(huán)結(jié)構(gòu)
# 4步循環(huán)法 # 1.初始化變量 # 2.條件判斷 # 3.條件執(zhí)行體 # 4.改變變量 # 總結(jié):初始化變量與條件判斷的變量與改變的變量為同一個(gè) sum=0#用于存儲(chǔ)累加和 a = 0 # 條件變量 while a<1000:# 條件執(zhí)行體sum+=a# 改變變量a+=1 print('和為',sum)結(jié)果
和為 499500進(jìn)程已結(jié)束,退出代碼0 # 循環(huán)結(jié)構(gòu) print('循環(huán)的分類:while循環(huán)、for-in循環(huán)語(yǔ)句')print('while循環(huán)') # 初始化值 a=1 # 判斷條件表達(dá)式 # if a<10: while a<=10:# 執(zhí)行條件執(zhí)行體print(a)a+=1 print('選擇結(jié)構(gòu)的if與循環(huán)結(jié)構(gòu)while的區(qū)別:if是判斷一次,條件為True執(zhí)行一次。while是判斷N+1次,條件為True執(zhí)行N次')結(jié)果
循環(huán)的分類:while循環(huán)、for-in循環(huán)語(yǔ)句 while循環(huán) 1 2 3 4 5 6 7 8 9 10 選擇結(jié)構(gòu)的if與循環(huán)結(jié)構(gòu)while的區(qū)別:if是判斷一次,條件為True執(zhí)行一次。while是判斷N+1次,條件為True執(zhí)行N次進(jìn)程已結(jié)束,退出代碼0 # 計(jì)算1到100之間的偶數(shù)和 sum=0 a=1 while a<=100:# if a%2==0:if not a%2:sum+=aa+=1 print('1-100之間的偶數(shù)和為',sum)while a<=100:# if a%2==1:if a%2:sum+=aa+=1 print('1-100之間的奇數(shù)和為',sum) 1-100之間的偶數(shù)和為 2550 1-100之間的奇數(shù)和為 2550進(jìn)程已結(jié)束,退出代碼027.for-in循環(huán)
# for-in循環(huán) # In表達(dá)從(字符串、序列等)中一次取值,又稱為遍歷 # for-in遍歷的對(duì)象必須是可迭代對(duì)象 # for - in的語(yǔ)法結(jié)構(gòu) # for 自定義的變量 in 可迭代對(duì)象:# 循環(huán)體for item in 'python':print(item)# range()產(chǎn)生一個(gè)整數(shù)序列,也是一個(gè)可迭代對(duì)象 for i in range(10):print(i)# 循環(huán)不需要使用到自定義變量,可以將自定義用_表示 for _ in range(5):print('python')print('-'*20,'使用for循環(huán),計(jì)算1到100之間的偶數(shù)和','-'*20) sum=0 for item in range(1,101):# if item %2==0:與下面結(jié)果一樣# if item%2:if not item%2:sum+=itemprint('1到100之間的偶數(shù)和為',sum)結(jié)果
p y t h o n 0 1 2 3 4 5 6 7 8 9 python python python python python -------------------- 使用for循環(huán),計(jì)算1到100之間的偶數(shù)和 -------------------- 1到100之間的偶數(shù)和為 2550進(jìn)程已結(jié)束,退出代碼028.水仙花數(shù)
'''輸出100到999之間的水仙花數(shù) 舉例:153=3*3*3+5*5*5+1*1*1'''for item in range(100,1000):ge=item%10 #得到個(gè)位上的數(shù)字shi=item//10%10 #得到10位上的數(shù)字bai=item//100 #得到百位上的數(shù)字# print(bai,shi,ge)if item == ge**3 +shi**3+bai**3:print(item)結(jié)果
153 370 371 407進(jìn)程已結(jié)束,退出代碼029.break流程控制語(yǔ)句
# 流程控制語(yǔ)句break print('break語(yǔ)句:用于結(jié)束循環(huán)結(jié)構(gòu),通常與分支結(jié)構(gòu)if進(jìn)行使用')print('從鍵盤錄入密碼,最多錄入三次,如果正確就結(jié)束循環(huán)')for item in range(3):pwd=input('請(qǐng)輸入密碼:')if pwd=='8888':print('密碼正確')breakelse:print('密碼不正確,請(qǐng)重新輸入')結(jié)果
break語(yǔ)句:用于結(jié)束循環(huán)結(jié)構(gòu),通常與分支結(jié)構(gòu)if進(jìn)行使用 從鍵盤錄入密碼,最多錄入三次,如果正確就結(jié)束循環(huán) 請(qǐng)輸入密碼:1111 密碼不正確,請(qǐng)重新輸入 請(qǐng)輸入密碼:1111 密碼不正確,請(qǐng)重新輸入 請(qǐng)輸入密碼:1111 密碼不正確,請(qǐng)重新輸入進(jìn)程已結(jié)束,退出代碼0while循環(huán)
a=0 while a<3:pwd=input('請(qǐng)輸入密碼:')if pwd=='8888':print('密碼正確')breakelse:print('密碼不正確')a+=1結(jié)果
請(qǐng)輸入密碼:00. 密碼不正確 請(qǐng)輸入密碼:00 密碼不正確 請(qǐng)輸入密碼:222 密碼不正確進(jìn)程已結(jié)束,退出代碼0 for item in range(3):pwd=input('請(qǐng)輸入密碼:')if pwd=='8888':print('密碼正確')breakelse:print('密碼錯(cuò)誤,請(qǐng)重新輸入') else:print('對(duì)不起,三次密碼均錯(cuò)誤')結(jié)果
請(qǐng)輸入密碼:66366 密碼錯(cuò)誤,請(qǐng)重新輸入 請(qǐng)輸入密碼:2223 密碼錯(cuò)誤,請(qǐng)重新輸入 請(qǐng)輸入密碼:223 密碼錯(cuò)誤,請(qǐng)重新輸入 對(duì)不起,三次密碼均錯(cuò)誤進(jìn)程已結(jié)束,退出代碼0 a=1 while a<=3:pwd=input('請(qǐng)輸入密碼:')print(type(pwd),id(pwd))if pwd=='8888':print('密碼正確')breakelse:print('密碼不正確')# 改變變量a+=1 else:print('對(duì)不起,三次密碼均輸入錯(cuò)誤')結(jié)果
請(qǐng)輸入密碼:1112 <class 'str'> 1876250580656 密碼不正確 請(qǐng)輸入密碼:454445 <class 'str'> 1876244750640 密碼不正確 請(qǐng)輸入密碼:1112 <class 'str'> 1876250581168 密碼不正確 對(duì)不起,三次密碼均輸入錯(cuò)誤進(jìn)程已結(jié)束,退出代碼030.九九乘法表
# 輸出一個(gè)三行四列的矩陣 for i in range(1,4):for j in range(1,5):print(i,'*',j,'=',i*j,end='\t') # 不換行輸出print() 1 * 1 = 1 1 * 2 = 2 1 * 3 = 3 1 * 4 = 4 2 * 1 = 2 2 * 2 = 4 2 * 3 = 6 2 * 4 = 8 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9 3 * 4 = 12 進(jìn)程已結(jié)束,退出代碼0 # 輸出一個(gè)九九乘法表 for i in range(1,10):for j in range(1,i+1):print(i,'*',j,'=',i*j,end='\t')print()結(jié)果
1 * 1 = 1 2 * 1 = 2 2 * 2 = 4 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9 4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36 7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49 8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64 9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81 進(jìn)程已結(jié)束,退出代碼031. 流程控制語(yǔ)句break與contine在二重循環(huán)中的使用
# 流程控制語(yǔ)句break與contine在二重循環(huán)中的使用 for i in range(5):for j in range(1,11):if j%2==0:# breakcontinueprint(j,end='\t')print()結(jié)果
1 3 5 7 9 1 3 5 7 9 1 3 5 7 9 1 3 5 7 9 1 3 5 7 9 進(jìn)程已結(jié)束,退出代碼032.列表list
a=10 lst=['hello','world',98] print(id(lst)) print(type(lst)) print(lst)結(jié)果
2669856313736 <class 'list'> ['hello', 'world', 98]進(jìn)程已結(jié)束,退出代碼0 lst=['hello','world','98'] # 創(chuàng)建列表的兩種方式,使用內(nèi)置函數(shù)list() lst2=list(['hello','world',98]) print(lst) print(lst2) print(lst[0],'索引值從0開始') print(lst[-1],'最后一個(gè)索引值是-1,同理可推理其他數(shù)據(jù)')結(jié)果
['hello', 'world', '98'] ['hello', 'world', 98] hello 索引值從0開始 98 最后一個(gè)索引值是-1,同理可推理其他數(shù)據(jù)進(jìn)程已結(jié)束,退出代碼033.index索引
lst=['hello','world',98,'hello','123'] print(lst.index('hello'),'如果列表中有相同元素,只返回相同元素中的第一個(gè)') # print(lst.index('python')) print(lst.index('hello',1,4),'表示在索引1到4之間查找是否包含hello') print(lst.index(98)) print(lst[2],'獲取索引為2的元素') print(lst[-3],'獲取索引為-3的元素') print('索引不在范圍內(nèi)會(huì)報(bào)錯(cuò)')結(jié)果
0 如果列表中有相同元素,只返回相同元素中的第一個(gè) 3 表示在索引1到4之間查找是否包含hello 2 98 獲取索引為2的元素 98 獲取索引為-3的元素 索引不在范圍內(nèi)會(huì)報(bào)錯(cuò)進(jìn)程已結(jié)束,退出代碼034.in 或not in
print('p' in 'python') print('k' not in 'python')lst=[10,20,'python','hello'] print(10 in lst) print(10 not in lst) print('依次打印列表中的索引值') for item in lst:print(item)結(jié)果
True True True False 依次打印列表中的索引值 10 20 python hello進(jìn)程已結(jié)束,退出代碼035.append、extend、insert列表添加元素
print() print('向列表添加一個(gè)元素') lst=[10,20,30] print('添加元素之前',lst,id(lst)) lst.append(100) print('添加元素之后',lst,id(lst)) lst2=['hello','world'] lst.append(lst2) print(lst,'append表示添加為一個(gè)數(shù)組') lst3=[123,456] lst.extend(lst3) print(lst,'extend在列表后面依次添加元素') lst.insert(1,90) print(lst,'表示在任意位置添加一個(gè)元素') 向列表添加一個(gè)元素 添加元素之前 [10, 20, 30] 2689590120840 添加元素之后 [10, 20, 30, 100] 2689590120840 [10, 20, 30, 100, ['hello', 'world']] append表示添加為一個(gè)數(shù)組 [10, 20, 30, 100, ['hello', 'world'], 123, 456] extend在列表后面依次添加元素 [10, 90, 20, 30, 100, ['hello', 'world'], 123, 456] 表示在任意位置添加一個(gè)元素進(jìn)程已結(jié)束,退出代碼036.remove、pop、clear、del刪除元素
print('remove使用') lst=[10,20,30,40,50,30,60] lst.remove(30) print(lst,'從列表中移除一個(gè)元素,如果有重復(fù)元素只移除第一個(gè)元素') # lst.remove(100) lst.pop(1) print(lst,'移除元素中第一個(gè)元素位置的索引')print('-'*20,'切片操作,刪除至少一個(gè)元素,將產(chǎn)生一個(gè)新的列表對(duì)象','-'*20) new_list=lst[1:3] print('原列表',lst) print('切片后的列表',new_list)lst[1:3]=[] print(lst,'不產(chǎn)生新的列表對(duì)象,而是刪除愿列表中的內(nèi)容') lst.clear() print(lst,'清除列表中的所有元素')del lst print(lst,'清除列表對(duì)象')結(jié)果
Traceback (most recent call last):File "C:/Users/PC/Desktop/pycode/代碼/馬士兵-人工智能python基礎(chǔ)/chap6/demo7.py", line 26, in <module>print(lst,'清除列表對(duì)象') NameError: name 'lst' is not defined remove使用 [10, 20, 40, 50, 30, 60] 從列表中移除一個(gè)元素,如果有重復(fù)元素只移除第一個(gè)元素 [10, 40, 50, 30, 60] 移除元素中第一個(gè)元素位置的索引 -------------------- 切片操作,刪除至少一個(gè)元素,將產(chǎn)生一個(gè)新的列表對(duì)象 -------------------- 原列表 [10, 40, 50, 30, 60] 切片后的列表 [40, 50] [10, 30, 60] 不產(chǎn)生新的列表對(duì)象,而是刪除愿列表中的內(nèi)容 [] 清除列表中的所有元素進(jìn)程已結(jié)束,退出代碼137.sort、reverse排序
print('列表元素的排序操作') lst=[20,40,30,10,20] print('排序前的列表',lst,id(lst)) lst.sort() print('排序后的列表',lst,id(lst),'sort表示按升序排序') lst.sort(reverse=True) print(lst,'reverse=True表示列表按降序排序')print('-'*20,'使用內(nèi)置函數(shù)sorted()對(duì)列表進(jìn)行排序,將產(chǎn)生一個(gè)新的列表對(duì)象','-'*20) print(lst) new_list=sorted(lst) print(lst) print(new_list,'sort是對(duì)原有列表進(jìn)行排序操作,sorted表示產(chǎn)生新列表進(jìn)行排序操作,不影響原列表') desc_list=sorted(lst,reverse=True) print(desc_list)結(jié)果
列表元素的排序操作 排序前的列表 [20, 40, 30, 10, 20] 1598529687944 排序后的列表 [10, 20, 20, 30, 40] 1598529687944 sort表示按升序排序 [40, 30, 20, 20, 10] reverse=True表示列表按降序排序 -------------------- 使用內(nèi)置函數(shù)sorted()對(duì)列表進(jìn)行排序,將產(chǎn)生一個(gè)新的列表對(duì)象 -------------------- [40, 30, 20, 20, 10] [40, 30, 20, 20, 10] [10, 20, 20, 30, 40] sort是對(duì)原有列表進(jìn)行排序操作,sorted表示產(chǎn)生新列表進(jìn)行排序操作,不影響原列表 [40, 30, 20, 20, 10]進(jìn)程已結(jié)束,退出代碼0 lst=[i*i for i in range(1,10)] print(lst)print('列表中的元素的值為2,4,6,8,10') lst2=[i*2 for i in range(1,6)] print(lst2)結(jié)果
[1, 4, 9, 16, 25, 36, 49, 64, 81] 列表中的元素的值為2,4,6,8,10 [2, 4, 6, 8, 10]進(jìn)程已結(jié)束,退出代碼0總結(jié)
以上是生活随笔為你收集整理的python基础教程--代码集合(上)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: pytorch环境安装(配置:CUDA1
- 下一篇: python基础教程--代码集合(下)