Python基礎教程之if判斷,while循環(huán),循環(huán)嵌套
if判斷
判斷的定義
如果條件滿足,就做一件事;條件不滿足,就做另一件事;
判斷語句又被稱為分支語句,有判斷,才有分支;
if判斷語句基本語法
if語句格式:
if 判斷的條件:
條件成立后做的事
...
...
代碼縮進為一個tab鍵,或者四個空格,官方建議使用空格;但應注意,在python開發(fā)中,tab和空格不能混用!
判斷年齡示例:
# 判斷是否成年,成年則可以進網吧
age = 19
if age>=18:
print("你滿了18歲,可以進網吧")
if及其縮進代碼可以看成一個完整的代碼塊
比較運算符簡介
| 運算符 | 描述 |
|---|---|
| == | 比較兩個操作數的值是否相等,相等則返回True,否則返回False |
| != | 比較兩個操作數的值是否不相等,不相等則返回True |
| >= | 檢查左操作數的值是否大于等于右操作數的值,成立則返回True |
| <= | 檢查右操作數的值是否大于等于左操作數的值,成立則返回True |
| < | 檢查右操作數的值是否大于左操作數的值,成立則返回True |
| > | 檢查左操作數的值是否大于右操作數的值,成立則返回True |
注意,在python2.x中,<>和!=作用和效果一樣;但在python3中,已經取消了<>這個比較符號。
else語句
if只能夠用來 當條件滿足時做某事,而else則用來當條件不滿足時做另外的事。
else語法格式: if 判斷的條件: 條件成立后應該做的事 else: 條件不成立時應該做的事
判斷年齡改進版
age = 18
if age>=18:
print("已成年,可以進網吧")
print("歡迎來到xxx網吧")
else:
print("未成年,請以后再來")
print("慢走") # 無論條件是否滿足,都會執(zhí)行
控制臺輸入年齡示例
age = int(input("請輸入你的年齡:"))
if age>=18:
print("已成年,可以進網吧")
print("歡迎來到xxx網吧")
else:
print("未成年,請以后再來")
print("慢走")
應注意的是,控制臺輸入的被python解釋器認為是字符串,字符串不能與數字比較,應該現將從控制臺輸入的年齡轉換成數字;
if,else及其各自的縮進代碼可以看成一個完整的代碼塊;
雖然他們并不能折疊成一個代碼塊,但其實就是,之所以各自折疊的原因是因為它們各自是局部代碼;
邏輯運算符
邏輯運算符簡介
邏輯運算符的使用:當需要同時判斷多個條件是否成立以執(zhí)行后續(xù)的代碼時
與或非,與或是用來連接條件的,非不連接條件,是用來對條件取反的;
and 與
條件1 and 條件2
必須兩個條件同時滿足,才是真,返回True;
只要有一個條件不滿足,就是假,返回False。
or 或
條件1 or 條件2
兩個條件只要有一個滿足,就是真,返回True;
只有兩個條件都不滿足,才是假,返回False。
not 非
not 條件
非不連接條件,用來對條件取反;
not使用場景:當希望 條件不滿足時執(zhí)行某件事情,可以用not;
另外,如果是拼接復雜的邏輯計算時,也可能用到not。
邏輯運算符使用示例
示例1:
# 邏輯判斷年齡是否正確
age = 40
if age>=0 and age<=120:
print("年齡正確")
else:
print("年齡錯誤")
示例2:
# not判斷公司員工
is_employee = False
if not is_employee:
print("非本公司員工,禁止入內")
elif語句
elif應用場景:希望判斷多個條件,并且多個條件對應不同的處理方式時;
elif中 同時判斷多個條件,所有的條件是平級的。
elif的語法:
if 條件1:
條件1滿足時,就執(zhí)行這里面的代碼
elif 條件2:
條件2滿足時,就執(zhí)行這里面的代碼
elif 條件3:
條件3滿足時,就執(zhí)行這里面的代碼
else:
如果上述條件都不滿足,就執(zhí)行這里的代碼
elif應用示例
# 判斷是否為女友的節(jié)日并作出相應動作
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嵌套的應用場景:用來判斷多個有前后依賴的場景,在前一個條件滿足的情況下,再額外增加條件判斷時使用;
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("沒有票,不允許進入,請先購票")
所學綜合應用
# 開發(fā)一個剪刀石頭布的人機對戰(zhàn)游戲
import random
player = int(input("請選擇你的出拳,只需輸入數字: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)的基本使用
程序的三大流程
程序只有三個流程,順序,分支,循環(huán)
從上到下,順序;
條件判斷,分支;
特定代碼重復執(zhí)行,循環(huán);
while語句基本語法
初始條件(例如 i=1)
while 條件:(例如 i<=5)
滿足條件時做的事(xxx)
處理條件(例如 i=i+1)
循環(huán)結束后做的事(xxx)
第一個while循環(huán)示例
i =1
while i<=5:
print("hello python")
i = i+1
print("循環(huán)結束")
注意,循環(huán)結束后,之前定義的計數器條件的數值依舊是存在的;
死循環(huán):沒有對計數器進行處理,導致程序一直在循環(huán)部分執(zhí)行,無法跳出;
python中的賦值運算符
i += 1 ---> i = i+1 -= i /= 2 ---> i = i/2 *= //= %= **=
注意,賦值運算符之間不能有空格;
程序計數從0開始
自然計數法,從1開始,符合人的習慣
程序計數法,從0開始,幾乎所有的語言都是如此
循環(huán)計算示例
循環(huán)計算思路分析
先在外面定義一個變量用來保存計算結果;
每循環(huán)一次就更新一下變量的計算結果。
示例1:
# 0到100數字累加
i = 0
sun = 0
while i <= 100:
sum += i
i += 1
print("循環(huán)結束,0到100的求和結果是%d" % sum)
示例2:
# 偶數求和之計算結果
i = 0
sum = 0
while i <= 100:
if i%2 == 0:
sum += i
i += 1
print("循環(huán)結束,0到100的求和結果是%d" % sum)
break和continue
break和continue的使用場景
break和continue是專門在循環(huán)中使用的關鍵字
break 某一條件滿足時,退出循環(huán),不再執(zhí)行后續(xù)重復的代碼
continue 某一條件滿足時,不執(zhí)行后續(xù)的重復代碼
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)的計數是否需要修改,否則很容易造成死循環(huán)。 i += 1 continue print(i) i+=1
循環(huán)嵌套
循環(huán)嵌套語法
while 條件1:
條件滿足時,做的事...
while 條件2:
條件滿足時,做的事...
處理條件2
處理條件1
print函數end參數的作用
默認情況下,print函數會在結尾自動增加換行;而用end參數的話,可以用end指定的內容替換換行,比如空格,就是調整print函數不換行;再比如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:
# 每一行要打印的小星星數量和當前行數是一樣的
# 增加一個小循環(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
字符串中的轉義字符
| 轉義字符 | 描述 |
|---|---|
| \ | 反斜杠符號 |
| ' | 單引號 |
| " | 雙引號 |
| \n | 換行 |
| \t | 橫向制表符 |
| \r | 回車 |
t在控制臺輸出一個制表符,協助在輸出文本時垂直方向保持對齊;
制表符的作用是在不適用表格的情況下在垂直方向按列對齊文本;
\n在控制臺輸出一個換行符。
print("1 2 3")
print("10 20 30")
# \t在控制臺輸出一個制表符,協助在輸出文本時垂直方向保持對齊,制表符的作用是在不適用表格的情況下在垂直方向按列對齊文本
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
總結
以上所述是小編給大家介紹的Python基礎教程之if判斷,while循環(huán),循環(huán)嵌套,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
相關文章
使用Python實現全攝像頭拍照與鍵盤輸入監(jiān)聽功能
這篇文章主要介紹了使用Python實現全攝像頭拍照與鍵盤輸入監(jiān)聽功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-08-08
Python存儲或讀取json時如何引入額外的雙引號和轉義引號
這篇文章主要介紹了Python存儲或讀取json時如何引入額外的雙引號和轉義引號問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06

