您好,登錄后才能下訂單哦!
判斷的定義
如果條件滿足,就做一件事;條件不滿足,就做另一件事;
判斷語句又被稱為分支語句,有判斷,才有分支;
if判斷語句基本語法
if語句格式:
if 判斷的條件:
條件成立后做的事
...
...
代碼縮進為一個tab鍵,或者四個空格,官方建議使用空格;但應(yīng)注意,在python開發(fā)中,tab和空格不能混用!
判斷年齡示例:
# 判斷是否成年,成年則可以進網(wǎng)吧 age = 19 if age>=18: print("你滿了18歲,可以進網(wǎng)吧")
if及其縮進代碼可以看成一個完整的代碼塊
比較運算符簡介
運算符 | 描述 |
---|---|
== | 比較兩個操作數(shù)的值是否相等,相等則返回True,否則返回False |
!= | 比較兩個操作數(shù)的值是否不相等,不相等則返回True |
>= | 檢查左操作數(shù)的值是否大于等于右操作數(shù)的值,成立則返回True |
<= | 檢查右操作數(shù)的值是否大于等于左操作數(shù)的值,成立則返回True |
< | 檢查右操作數(shù)的值是否大于左操作數(shù)的值,成立則返回True |
> | 檢查左操作數(shù)的值是否大于右操作數(shù)的值,成立則返回True |
注意,在python2.x中,<>和!=作用和效果一樣;但在python3中,已經(jīng)取消了<>這個比較符號。
else語句
if只能夠用來 當條件滿足時做某事,而else則用來當條件不滿足時做另外的事。
else語法格式: if 判斷的條件: 條件成立后應(yīng)該做的事 else: 條件不成立時應(yīng)該做的事
判斷年齡改進版
age = 18 if age>=18: print("已成年,可以進網(wǎng)吧") print("歡迎來到xxx網(wǎng)吧") else: print("未成年,請以后再來") print("慢走") # 無論條件是否滿足,都會執(zhí)行
控制臺輸入年齡示例
age = int(input("請輸入你的年齡:")) if age>=18: print("已成年,可以進網(wǎng)吧") print("歡迎來到xxx網(wǎng)吧") else: print("未成年,請以后再來") print("慢走")
應(yīng)注意的是,控制臺輸入的被python解釋器認為是字符串,字符串不能與數(shù)字比較,應(yīng)該現(xiàn)將從控制臺輸入的年齡轉(zhuǎn)換成數(shù)字;
if,else及其各自的縮進代碼可以看成一個完整的代碼塊;
雖然他們并不能折疊成一個代碼塊,但其實就是,之所以各自折疊的原因是因為它們各自是局部代碼;
邏輯運算符
邏輯運算符簡介
邏輯運算符的使用:當需要同時判斷多個條件是否成立以執(zhí)行后續(xù)的代碼時
與或非,與或是用來連接條件的,非不連接條件,是用來對條件取反的;
and 與
條件1 and 條件2
必須兩個條件同時滿足,才是真,返回True;
只要有一個條件不滿足,就是假,返回False。
or 或
條件1 or 條件2
兩個條件只要有一個滿足,就是真,返回True;
只有兩個條件都不滿足,才是假,返回False。
not 非
not 條件
非不連接條件,用來對條件取反;
not使用場景:當希望 條件不滿足時執(zhí)行某件事情,可以用not;
另外,如果是拼接復(fù)雜的邏輯計算時,也可能用到not。
邏輯運算符使用示例
示例1:
# 邏輯判斷年齡是否正確 age = 40 if age>=0 and age<=120: print("年齡正確") else: print("年齡錯誤")
示例2:
# not判斷公司員工 is_employee = False if not is_employee: print("非本公司員工,禁止入內(nèi)")
elif語句
elif應(yīng)用場景:希望判斷多個條件,并且多個條件對應(yīng)不同的處理方式時;
elif中 同時判斷多個條件,所有的條件是平級的。
elif的語法:
if 條件1:
條件1滿足時,就執(zhí)行這里面的代碼
elif 條件2:
條件2滿足時,就執(zhí)行這里面的代碼
elif 條件3:
條件3滿足時,就執(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)用場景:用來判斷多個有前后依賴的場景,在前一個條件滿足的情況下,再額外增加條件判斷時使用;
if嵌套的語法:
if 條件1:
if 條件1.1:
條件1.1滿足時,就執(zhí)行這里面的代碼
elif 條件1.2:
條件1.2滿足時,就執(zhí)行這里面的代碼
else:
如果上述條件都不滿足,就執(zhí)行這里的代碼
elif 條件2:
條件2滿足時,就執(zhí)行這里面的代碼
elif 條件3:
條件3滿足時,就執(zhí)行這里面的代碼
else:
如果上述條件都不滿足,就執(zhí)行這里的代碼
火車站檢票安檢代碼
# 有火車票后進入安檢環(huán)節(jié),沒有票就不允許進,安檢環(huán)節(jié)如果滿足條件就進入,不滿足就進行提醒 has_ticket = True knife_length = 30 if has_ticket: print("檢票完成,進入安檢環(huán)節(jié)") if knife_length > 20: print("你攜帶的道具有 %d厘米,不符合規(guī)定,不允許上車!"%knife_length) else: print("安檢成功,祝你旅途愉快") else: print("沒有票,不允許進入,請先購票")
所學(xué)綜合應(yīng)用
# 開發(fā)一個剪刀石頭布的人機對戰(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("你贏了")
程序的三大流程
程序只有三個流程,順序,分支,循環(huán)
從上到下,順序;
條件判斷,分支;
特定代碼重復(fù)執(zhí)行,循環(huán);
while語句基本語法
初始條件(例如 i=1)
while 條件:(例如 i<=5)
滿足條件時做的事(xxx)
處理條件(例如 i=i+1)
循環(huán)結(jié)束后做的事(xxx)
第一個while循環(huán)示例
i =1 while i<=5: print("hello python") i = i+1 print("循環(huán)結(jié)束")
注意,循環(huán)結(jié)束后,之前定義的計數(shù)器條件的數(shù)值依舊是存在的;
死循環(huán):沒有對計數(shù)器進行處理,導(dǎo)致程序一直在循環(huán)部分執(zhí)行,無法跳出;
python中的賦值運算符
i += 1 ---> i = i+1 -= i /= 2 ---> i = i/2 *= //= %= **=
注意,賦值運算符之間不能有空格;
程序計數(shù)從0開始
自然計數(shù)法,從1開始,符合人的習(xí)慣
程序計數(shù)法,從0開始,幾乎所有的語言都是如此
循環(huán)計算示例
循環(huán)計算思路分析
先在外面定義一個變量用來保存計算結(jié)果;
每循環(huán)一次就更新一下變量的計算結(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ù)求和之計算結(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 某一條件滿足時,退出循環(huán),不再執(zhí)行后續(xù)重復(fù)的代碼
continue 某一條件滿足時,不執(zhí)行后續(xù)的重復(fù)代碼
break和continue只對當前所在循環(huán)有效
break打斷整個循環(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之前,需確認循環(huán)的計數(shù)是否需要修改,否則很容易造成死循環(huán)。 i += 1 continue print(i) i+=1
循環(huán)嵌套語法
while 條件1:
條件滿足時,做的事...
while 條件2:
條件滿足時,做的事...
處理條件2
處理條件1
print函數(shù)end參數(shù)的作用
默認情況下,print函數(shù)會在結(jié)尾自動增加換行;而用end參數(shù)的話,可以用end指定的內(nèi)容替換換行,比如空格,就是調(diào)整print函數(shù)不換行;再比如end="---",就是在添加end的print輸出語句和下一個輸出語句之間不換行且添加---
print("1") print("2") print("1", end="") print("2") print("1", end="---") print("2")
循環(huán)嵌套使用案例
案例1.打印五行小星星
row = 1 while row <= 5: # 每一行要打印的小星星數(shù)量和當前行數(shù)是一樣的 # 增加一個小循環(huán),專門負責當前行中,每一列的小星星輸出 col = 1 while col <= row: print("*", end="") col += 1 print("") row += 1
重點看其中的思路!
案例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在控制臺輸出一個制表符,協(xié)助在輸出文本時垂直方向保持對齊;
制表符的作用是在不適用表格的情況下在垂直方向按列對齊文本;
\n在控制臺輸出一個換行符。
print("1 2 3") print("10 20 30") # \t在控制臺輸出一個制表符,協(xié)助在輸出文本時垂直方向保持對齊,制表符的作用是在不適用表格的情況下在垂直方向按列對齊文本 print("1\t2 \t3") print("10\t20\t30") # \n在控制臺輸出一個換行符 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)嵌套,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對億速云網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。