Python基礎(chǔ)教程之if判斷,while循環(huán),循環(huán)嵌套
if判斷
判斷的定義
如果條件滿足,就做一件事;條件不滿足,就做另一件事;
判斷語句又被稱為分支語句,有判斷,才有分支;
if判斷語句基本語法
if語句格式:
if 判斷的條件:
條件成立后做的事
...
...
代碼縮進(jìn)為一個(gè)tab鍵,或者四個(gè)空格,官方建議使用空格;但應(yīng)注意,在python開發(fā)中,tab和空格不能混用!
判斷年齡示例:
# 判斷是否成年,成年則可以進(jìn)網(wǎng)吧 age = 19 if age>=18: print("你滿了18歲,可以進(jìn)網(wǎng)吧")
if及其縮進(jìn)代碼可以看成一個(gè)完整的代碼塊
比較運(yùn)算符簡介
運(yùn)算符 | 描述 |
---|---|
== | 比較兩個(gè)操作數(shù)的值是否相等,相等則返回True,否則返回False |
!= | 比較兩個(gè)操作數(shù)的值是否不相等,不相等則返回True |
>= | 檢查左操作數(shù)的值是否大于等于右操作數(shù)的值,成立則返回True |
<= | 檢查右操作數(shù)的值是否大于等于左操作數(shù)的值,成立則返回True |
< | 檢查右操作數(shù)的值是否大于左操作數(shù)的值,成立則返回True |
> | 檢查左操作數(shù)的值是否大于右操作數(shù)的值,成立則返回True |
注意,在python2.x中,<>和!=作用和效果一樣;但在python3中,已經(jīng)取消了<>這個(gè)比較符號。
else語句
if只能夠用來 當(dāng)條件滿足時(shí)做某事,而else則用來當(dāng)條件不滿足時(shí)做另外的事。
else語法格式: if 判斷的條件: 條件成立后應(yīng)該做的事 else: 條件不成立時(shí)應(yīng)該做的事
判斷年齡改進(jìn)版
age = 18 if age>=18: print("已成年,可以進(jìn)網(wǎng)吧") print("歡迎來到xxx網(wǎng)吧") else: print("未成年,請以后再來") print("慢走") # 無論條件是否滿足,都會執(zhí)行
控制臺輸入年齡示例
age = int(input("請輸入你的年齡:")) if age>=18: print("已成年,可以進(jìn)網(wǎng)吧") print("歡迎來到xxx網(wǎng)吧") else: print("未成年,請以后再來") print("慢走")
應(yīng)注意的是,控制臺輸入的被python解釋器認(rèn)為是字符串,字符串不能與數(shù)字比較,應(yīng)該現(xiàn)將從控制臺輸入的年齡轉(zhuǎn)換成數(shù)字;
if,else及其各自的縮進(jìn)代碼可以看成一個(gè)完整的代碼塊;
雖然他們并不能折疊成一個(gè)代碼塊,但其實(shí)就是,之所以各自折疊的原因是因?yàn)樗鼈兏髯允蔷植看a;
邏輯運(yùn)算符
邏輯運(yùn)算符簡介
邏輯運(yùn)算符的使用:當(dāng)需要同時(shí)判斷多個(gè)條件是否成立以執(zhí)行后續(xù)的代碼時(shí)
與或非,與或是用來連接條件的,非不連接條件,是用來對條件取反的;
and 與
條件1 and 條件2
必須兩個(gè)條件同時(shí)滿足,才是真,返回True;
只要有一個(gè)條件不滿足,就是假,返回False。
or 或
條件1 or 條件2
兩個(gè)條件只要有一個(gè)滿足,就是真,返回True;
只有兩個(gè)條件都不滿足,才是假,返回False。
not 非
not 條件
非不連接條件,用來對條件取反;
not使用場景:當(dāng)希望 條件不滿足時(shí)執(zhí)行某件事情,可以用not;
另外,如果是拼接復(fù)雜的邏輯計(jì)算時(shí),也可能用到not。
邏輯運(yùn)算符使用示例
示例1:
# 邏輯判斷年齡是否正確 age = 40 if age>=0 and age<=120: print("年齡正確") else: print("年齡錯(cuò)誤")
示例2:
# not判斷公司員工 is_employee = False if not is_employee: print("非本公司員工,禁止入內(nèi)")
elif語句
elif應(yīng)用場景:希望判斷多個(gè)條件,并且多個(gè)條件對應(yīng)不同的處理方式時(shí);
elif中 同時(shí)判斷多個(gè)條件,所有的條件是平級的。
elif的語法:
if 條件1:
條件1滿足時(shí),就執(zhí)行這里面的代碼
elif 條件2:
條件2滿足時(shí),就執(zhí)行這里面的代碼
elif 條件3:
條件3滿足時(shí),就執(zhí)行這里面的代碼
else:
如果上述條件都不滿足,就執(zhí)行這里的代碼
elif應(yīng)用示例
# 判斷是否為女友的節(jié)日并作出相應(yīng)動作 day = "birthday" if day == "birthday": print("buy cake") elif day = "Valentine's Day": print("buy rose") elif day = "Christmas Eve": print("eat apple") else: print("Everyday is her holiday!")
if嵌套
if嵌套的應(yīng)用場景:用來判斷多個(gè)有前后依賴的場景,在前一個(gè)條件滿足的情況下,再額外增加條件判斷時(shí)使用;
if嵌套的語法:
if 條件1:
if 條件1.1:
條件1.1滿足時(shí),就執(zhí)行這里面的代碼
elif 條件1.2:
條件1.2滿足時(shí),就執(zhí)行這里面的代碼
else:
如果上述條件都不滿足,就執(zhí)行這里的代碼
elif 條件2:
條件2滿足時(shí),就執(zhí)行這里面的代碼
elif 條件3:
條件3滿足時(shí),就執(zhí)行這里面的代碼
else:
如果上述條件都不滿足,就執(zhí)行這里的代碼
火車站檢票安檢代碼
# 有火車票后進(jìn)入安檢環(huán)節(jié),沒有票就不允許進(jìn),安檢環(huán)節(jié)如果滿足條件就進(jìn)入,不滿足就進(jìn)行提醒 has_ticket = True knife_length = 30 if has_ticket: print("檢票完成,進(jìn)入安檢環(huán)節(jié)") if knife_length > 20: print("你攜帶的道具有 %d厘米,不符合規(guī)定,不允許上車!"%knife_length) else: print("安檢成功,祝你旅途愉快") else: print("沒有票,不允許進(jìn)入,請先購票")
所學(xué)綜合應(yīng)用
# 開發(fā)一個(gè)剪刀石頭布的人機(jī)對戰(zhàn)游戲 import random player = int(input("請選擇你的出拳,只需輸入數(shù)字:1.石頭 2.剪刀 3.布)) computer = random.randint(1,3) print("玩家選擇的是%d,電腦選擇的是%d"%(player, computer)) if ((palyer == 1 and computer == 2) or (palyer == 2 and computer == 3) or (palyer == 3 and computer == 1)): print("恭喜你,你贏了") elif player == computer: print("平局,這么巧") else: print("不好意思,你輸了")
一行過長代碼的換行
原來:
if (palyer == 1 and computer == 2) or (palyer == 2 and computer == 3) or (palyer == 3 and computer == 1): print("你贏了")
換行:
if ((palyer == 1 and computer == 2) or (palyer == 2 and computer == 3) or (palyer == 3 and computer == 1)): print("你贏了")
while循環(huán)的基本使用
程序的三大流程
程序只有三個(gè)流程,順序,分支,循環(huán)
從上到下,順序;
條件判斷,分支;
特定代碼重復(fù)執(zhí)行,循環(huán);
while語句基本語法
初始條件(例如 i=1)
while 條件:(例如 i<=5)
滿足條件時(shí)做的事(xxx)
處理?xiàng)l件(例如 i=i+1)
循環(huán)結(jié)束后做的事(xxx)
第一個(gè)while循環(huán)示例
i =1 while i<=5: print("hello python") i = i+1 print("循環(huán)結(jié)束")
注意,循環(huán)結(jié)束后,之前定義的計(jì)數(shù)器條件的數(shù)值依舊是存在的;
死循環(huán):沒有對計(jì)數(shù)器進(jìn)行處理,導(dǎo)致程序一直在循環(huán)部分執(zhí)行,無法跳出;
python中的賦值運(yùn)算符
i += 1 ---> i = i+1 -= i /= 2 ---> i = i/2 *= //= %= **=
注意,賦值運(yùn)算符之間不能有空格;
程序計(jì)數(shù)從0開始
自然計(jì)數(shù)法,從1開始,符合人的習(xí)慣
程序計(jì)數(shù)法,從0開始,幾乎所有的語言都是如此
循環(huán)計(jì)算示例
循環(huán)計(jì)算思路分析
先在外面定義一個(gè)變量用來保存計(jì)算結(jié)果;
每循環(huán)一次就更新一下變量的計(jì)算結(jié)果。
示例1:
# 0到100數(shù)字累加 i = 0 sun = 0 while i <= 100: sum += i i += 1 print("循環(huán)結(jié)束,0到100的求和結(jié)果是%d" % sum)
示例2:
# 偶數(shù)求和之計(jì)算結(jié)果 i = 0 sum = 0 while i <= 100: if i%2 == 0: sum += i i += 1 print("循環(huán)結(jié)束,0到100的求和結(jié)果是%d" % sum)
break和continue
break和continue的使用場景
break和continue是專門在循環(huán)中使用的關(guān)鍵字
break 某一條件滿足時(shí),退出循環(huán),不再執(zhí)行后續(xù)重復(fù)的代碼
continue 某一條件滿足時(shí),不執(zhí)行后續(xù)的重復(fù)代碼
break和continue只對當(dāng)前所在循環(huán)有效
break打斷整個(gè)循環(huán)
continue打斷一次小循環(huán)
break代碼演練
i = 0 while i<10: if i == 3: break print(i) i+=1
continue代碼演示
i = 0 while i<10: if i == 3: # 在循環(huán)中,使用continue之前,需確認(rèn)循環(huán)的計(jì)數(shù)是否需要修改,否則很容易造成死循環(huán)。 i += 1 continue print(i) i+=1
循環(huán)嵌套
循環(huán)嵌套語法
while 條件1:
條件滿足時(shí),做的事...
while 條件2:
條件滿足時(shí),做的事...
處理?xiàng)l件2
處理?xiàng)l件1
print函數(shù)end參數(shù)的作用
默認(rèn)情況下,print函數(shù)會在結(jié)尾自動增加換行;而用end參數(shù)的話,可以用end指定的內(nèi)容替換換行,比如空格,就是調(diào)整print函數(shù)不換行;再比如end="---",就是在添加end的print輸出語句和下一個(gè)輸出語句之間不換行且添加---
print("1") print("2") print("1", end="") print("2") print("1", end="---") print("2")
循環(huán)嵌套使用案例
案例1.打印五行小星星
row = 1 while row <= 5: # 每一行要打印的小星星數(shù)量和當(dāng)前行數(shù)是一樣的 # 增加一個(gè)小循環(huán),專門負(fù)責(zé)當(dāng)前行中,每一列的小星星輸出 col = 1 while col <= row: print("*", end="") col += 1 print("") row += 1
重點(diǎn)看其中的思路!
案例2.九九乘法表案例
row = 1 while row <= 9: col = 1 while col <= row: # print("*", end="") # print("9 * 9 = 81", end=" ") # print("9 * %d = 81" % row, end=" ") # print("%d * %d = %d" % (col, row, col*row), end=" ") print("%d * %d = %d" % (col, row, col*row), end="\t") # 加\t的原因是,為了對齊美觀 col += 1 print("") row += 1
字符串中的轉(zhuǎn)義字符
轉(zhuǎn)義字符 | 描述 |
---|---|
\ | 反斜杠符號 |
' | 單引號 |
" | 雙引號 |
\n | 換行 |
\t | 橫向制表符 |
\r | 回車 |
t在控制臺輸出一個(gè)制表符,協(xié)助在輸出文本時(shí)垂直方向保持對齊;
制表符的作用是在不適用表格的情況下在垂直方向按列對齊文本;
\n在控制臺輸出一個(gè)換行符。
print("1 2 3") print("10 20 30") # \t在控制臺輸出一個(gè)制表符,協(xié)助在輸出文本時(shí)垂直方向保持對齊,制表符的作用是在不適用表格的情況下在垂直方向按列對齊文本 print("1\t2 \t3") print("10\t20\t30") # \n在控制臺輸出一個(gè)換行符 print("hello\nworld") print("hello\"world") # 輸出 1 2 3 10 20 30 1 2 3 10 20 30 hello world hello"world
總結(jié)
以上所述是小編給大家介紹的Python基礎(chǔ)教程之if判斷,while循環(huán),循環(huán)嵌套,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
Python操作Excel工作簿的示例代碼(\*.xlsx)
這篇文章主要介紹了Python操作Excel工作簿的示例代碼(\*.xlsx),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03Django實(shí)現(xiàn)微信小程序的登錄驗(yàn)證功能并維護(hù)登錄態(tài)
這篇文章主要介紹了Django實(shí)現(xiàn)小程序的登錄驗(yàn)證功能并維護(hù)登錄態(tài),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07如何利用pygame實(shí)現(xiàn)簡單的五子棋游戲
這篇文章主要給大家介紹了關(guān)于如何利用pygame實(shí)現(xiàn)簡單的五子棋游戲的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用pygame具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12Python數(shù)據(jù)結(jié)構(gòu)與算法的雙端隊(duì)列詳解
這篇文章主要為大家詳細(xì)介紹了Python的雙端隊(duì)列,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03Django框架實(shí)現(xiàn)逆向解析url的方法
這篇文章主要介紹了Django框架實(shí)現(xiàn)逆向解析url的方法,結(jié)合實(shí)例形式分析了Django逆向解析URL的原理、步驟、相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下2018-07-07keras 兩種訓(xùn)練模型方式詳解fit和fit_generator(節(jié)省內(nèi)存)
這篇文章主要介紹了keras 兩種訓(xùn)練模型方式詳解fit和fit_generator(節(jié)省內(nèi)存),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07