溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python基礎(chǔ)教程之if判斷,while循環(huán),循環(huán)嵌套

發(fā)布時間:2020-10-12 03:07:27 來源:腳本之家 閱讀:236 作者:YifChan 欄目:開發(fā)技術(shù)

if判斷

判斷的定義

 如果條件滿足,就做一件事;條件不滿足,就做另一件事;
 判斷語句又被稱為分支語句,有判斷,才有分支;

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("你贏了")

while循環(huán)的基本使用

程序的三大流程

程序只有三個流程,順序,分支,循環(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)嵌套

循環(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)載,煩請注明出處,謝謝!

向AI問一下細節(jié)

免責聲明:本站發(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)容。

AI