菜鳥Python筆記-基礎(chǔ)篇03:判斷語句和循環(huán)語句

一妖泄、判斷語句介紹

如果某些條件滿足驹沿,才能做某件事情;條件不滿足時蹈胡,則不能做渊季,這就是所謂的判斷。
不僅生活中有罚渐,在軟件開發(fā)中"判斷"功能也經(jīng)常會用到却汉。

二、if語句

if判斷語句介紹

  • if語句是用來進行判斷的荷并,其使用格式如下:
if 要判斷的條件:
        條件成立時合砂,要做的事情
  • demo1:
age = 30

    print("------if判斷開始------")

    if age >= 18:
        print("我已經(jīng)成年了")

    print("------if判斷結(jié)束------")
  • 運行結(jié)果:
------if判斷開始------
    我已經(jīng)成年了
------if判斷結(jié)束------
  • if判斷語句的作用:就是當滿足一定條件時才會執(zhí)行代碼塊語句,否則就不執(zhí)行代碼塊語句源织。
  • 注意:代碼的縮進為一個tab鍵翩伪,或者4個空格微猖。

if-else

在使用if的時候,它只能做到滿足條件時要做的事情幻工。那萬一需要在不滿足條件的時候励两,做某些事,該怎么辦呢囊颅?

答:使用 if-else

if-else的使用格式

if 條件:
    滿足條件時要做的事情1
    滿足條件時要做的事情2
    滿足條件時要做的事情3
    ...(省略)...
else:
    不滿足條件時要做的事情1
    不滿足條件時要做的事情2
    不滿足條件時要做的事情3
    ...(省略)...

demo1:

chePiao = 1 # 用1代表有車票当悔,0代表沒有車票
if chePiao == 1:
    print("有車票,可以上火車")
    print("終于可以見到Ta了踢代,美滋滋~~~")
else:
    print("沒有車票盲憎,不能上車")
    print("親愛的,那就下次見了"

結(jié)果1:有車票的情況

有車票胳挎,可以上火車
終于可以見到Ta了饼疙,美滋滋~~~

結(jié)果2:沒有車票的情況

沒有車票,不能上車
親愛的慕爬,那就下次見了

三窑眯、關(guān)系、邏輯運算符

比較(即關(guān)系)運算符

python中的比較運算符如下表:

運算符 描述 示例
== 檢查兩個操作數(shù)的值是否相等医窿,如果是則條件變?yōu)檎妗?/td> 如a=3,b=3磅甩,則(a == b) 為 True
!= 檢查兩個操作數(shù)的值是否相等,如果值不相等姥卢,則條件變?yōu)檎妗?/td> 如a=1,b=3卷要,則(a != b) 為 True
> 檢查左操作數(shù)的值是否大于右操作數(shù)的值,如果是独榴,則條件成立僧叉。 如a=7,b=3,則(a > b) 為 True
< 檢查左操作數(shù)的值是否小于右操作數(shù)的值棺榔,如果是瓶堕,則條件成立。 如a=7,b=3症歇,則(a < b) 為 False
>= 檢查左操作數(shù)的值是否大于或等于右操作數(shù)的值捞烟,如果是,則條件成立当船。 如a=3,b=3,則(a >= b) 為 True
<= 檢查左操作數(shù)的值是否小于或等于右操作數(shù)的值默辨,如果是德频,則條件成立。 如a=3,b=3缩幸,則(a <= b) 為 True
>>> # 關(guān)系運算符
... 
>>> # == 等于:表示左右兩個操作數(shù)是否相等壹置,如果相等則整個表達式的值為 True竞思;不相等則為False
... num1 = 15
>>> num2 = 20
>>> 
>>> print(num1 == num2)
False
>>> 
>>> # != 不等于
... print(num1 != num2)
True

邏輯運算符

運算符 邏輯表達式 描述 實例
and x and y 布爾"與":如果 x 為 False,x and y 返回 False钞护,否則它返回 y 的值盖喷。 True and False, 返回 False难咕。
or x or y 布爾"或":如果 x 是 True课梳,它返回 True,否則它返回 y 的值余佃。 False or True暮刃, 返回 True。
not not x 布爾"非":如果 x 為 True爆土,返回 False 椭懊。如果 x 為 False,它返回 True步势。 not True 返回 False, not False 返回 True
>>> # 邏輯運算符
... 
>>> # and : 左右表達式都為True氧猬,整個表達式結(jié)果才為 True
... if (1 == 1) and (10 > 3):
...     print("條件成立!")
... 
條件成立坏瘩!

>>> # or : 左右表達式有一個為True盅抚,整個表達式結(jié)果就為 True
... if (1 == 2) or (10 > 3):
...     print("條件成立!")
... 
條件成立桑腮!

>>> # not:將右邊表達式的邏輯結(jié)果取反泉哈,Ture變?yōu)镕alse,F(xiàn)alse變?yōu)門rue
... if not (1 == 2):
...     print("條件成立破讨!")
... 
條件成立丛晦!

>>>

四、elif

如果有這樣一種情況:當xxx1滿足時做事情1提陶;當xxx1不滿足烫沙、xxx2滿足時做事情2;當xxx2不滿足隙笆、xxx3滿足時做事情3秤茅,那該怎么實現(xiàn)呢?

答:elif

elif的功能

elif的使用格式如下:

if xxx1:
    事情1
elif xxx2:
    事情2
elif xxx3:
    事情3
  • 說明:
    • 當xxx1滿足時外构,執(zhí)行事情1展运,然后整個if結(jié)束
    • 當xxx1不滿足時,那么判斷xxx2铅忿,如果xxx2滿足剪决,則執(zhí)行事情2,然后整個if結(jié)束
    • 當xxx1不滿足時,xxx2也不滿足柑潦,如果xxx3滿足享言,則執(zhí)行事情3,然后整個if結(jié)束

注意點

可以和else一起使用

if 性別為男性:
   輸出男性的體重
   ...
elif 性別為女性:
   輸出女性的體重
   ...
else:
   第三種性別的體重
   ...
  • 說明:
    • 當 “性別為男性” 滿足時渗鬼,執(zhí)行 “輸出男性的體重”的相關(guān)代碼
    • 當 “性別為男性” 不滿足時览露,如果 “性別為女性”滿足,則執(zhí)行 “輸出女性的體重”的相關(guān)代碼
    • 當 “性別為男性” 不滿足譬胎,“性別為女性”也不滿足差牛,那么久默認執(zhí)行else后面的代碼,即 “第三種性別的體重”相關(guān)代碼

elif必須和if一起使用银择,否則出錯

else一般用在最后多糠,即所有條件都不滿足時使用

五、if嵌套

通過學(xué)習(xí)if的基本用法浩考,已經(jīng)知道了

  • 當需要滿足條件去做事情的這種情況需要使用if
  • 當滿足條件時做事情A夹孔,不滿足條件做事情B的這種情況使用if-else

有些情況某個判斷是再另外一個判斷成立的基礎(chǔ)上進行的,這樣的情況該怎樣解決呢析孽?

答:if嵌套

if嵌套的格式

if 條件1:

    滿足條件1 做的事情1
    滿足條件1 做的事情2

    if 條件2:
        滿足條件2 做的事情1
        滿足條件2 做的事情2
  • 說明
    • 外層的if判斷搭伤,也可以是if-else
    • 內(nèi)層的if判斷,也可以是if-else
    • 根據(jù)實際開發(fā)的情況袜瞬,進行選擇

if嵌套的應(yīng)用

demo1:

chePiao = 1     # 用1代表有車票怜俐,0代表沒有車票
daoLenght = 9     # 刀子的長度,單位為cm

if chePiao == 1:
    print("有車票邓尤,可以進站")
    if daoLenght < 10:
        print("通過安檢")
        print("終于可以見到Ta了拍鲤,美滋滋~~~")
    else:
        print("沒有通過安檢")
        print("刀子的長度超過規(guī)定,等待警察處理...")
else:
    print("沒有車票汞扎,不能進站")
    print("親愛的季稳,那就下次見了")

結(jié)果1:chePiao = 1;daoLenght = 9

有車票,可以進站
通過安檢
終于可以見到Ta了澈魄,美滋滋~~~

結(jié)果2:chePiao = 1;daoLenght = 20

有車票景鼠,可以進站
沒有通過安檢
刀子的長度超過規(guī)定,等待警察處理...

結(jié)果3:chePiao = 0;daoLenght = 9

沒有車票痹扇,不能進站
親愛的铛漓,那就下次見了

結(jié)果4:chePiao = 0;daoLenght = 20

沒有車票,不能進站
親愛的鲫构,那就下次見了

六浓恶、if的補充知識

區(qū)間比較:

a = 10
1<a<20  # True
11<a<20  # False

三元運算符:

格式:

變量 = 值1 if 條件 else 值2

當條件成立時把 值1 賦值給變量,條件不成立時把 值2 賦值給變量结笨。

示例:

a = 10
b = 20
c = a if a>b else b
print(c)  # 條件不成立包晰,把 b 的值賦給 c昂秃,也就是 c 的值為 20

數(shù)字的邏輯運算:

a = 0
b = 1
c = 3

# and 運算,只要有一個值為 0 則結(jié)果為0杜窄,否則結(jié)果為最后一個非 0 數(shù)字
a and b  # 0
b and a  # 0
c and b  # 1
b and c  # 3

# or 運算,只有所有值為 0 結(jié)果才為0算途,否則結(jié)果為第一個非 0 數(shù)字
a or a  # 0
a or b  # 1
b or a  # 1
c or b  # 3
b or c  # 1

七塞耕、循環(huán)語句介紹

軟件開發(fā)中循環(huán)的使用場景

跟媳婦承認錯誤,說一萬遍"媳婦兒嘴瓤,我錯了"

print("媳婦兒扫外,我錯了")
    print("媳婦兒,我錯了")
    print("媳婦兒廓脆,我錯了")
    ...(還有99997遍)...

使用循環(huán)語句一句話搞定:

i = 0
while i < 10000:
    print("媳婦兒筛谚,我錯了")
    i += 1

總結(jié)

  • whileif的用法基本類似,區(qū)別在于:if 條件成立停忿,則執(zhí)行一次驾讲; while 條件成立,則重復(fù)執(zhí)行席赂,直到條件不成立為止吮铭。
  • 一般情況下,需要多次重復(fù)執(zhí)行的代碼颅停,都可以用循環(huán)的方式來完成谓晌。
  • 循環(huán)不是必須要使用的,但是為了提高代碼的重復(fù)使用率癞揉,所以有經(jīng)驗的開發(fā)者都會采用循環(huán)纸肉。

八、while循環(huán)

while循環(huán)的格式

while 條件:
    條件滿足時喊熟,做的事情1
    條件滿足時柏肪,做的事情2
    條件滿足時,做的事情3
    ...(省略)...

demo:

i = 0
while i < 5:
    print("當前是第%d次執(zhí)行循環(huán)" % (i + 1))
    print("i=%d" % i)
    i+=1

結(jié)果:

當前是第1次執(zhí)行循環(huán)
i=0
當前是第2次執(zhí)行循環(huán)
i=1
當前是第3次執(zhí)行循環(huán)
i=2
當前是第4次執(zhí)行循環(huán)
i=3
當前是第5次執(zhí)行循環(huán)
i=4

九逊移、while循環(huán)應(yīng)用

1. 計算1~100的累積和(包含1和100)

參考代碼如下:

i = 1
sum = 0
while i <= 100:
    sum = sum + i
    i += 1

print("1~100的累積和為:%d" % sum)

計算1~100之間偶數(shù)的累積和(包含1和100)

參考代碼如下:

i = 1
sum = 0
while i <= 100:
    if i % 2 == 0:
        sum = sum + i
    i+=1

print("1~100的累積和為:%d" % sum)

十预吆、break和continue

1. break

break 會立即終止循環(huán),跳出當前循環(huán)胳泉,執(zhí)行之后的代碼:

i = 10

while i > 0:
    print("媽拐叉,還要我刷啊~~~~~~~~~")
    if i == 5:
        print('好了,不用刷了')
        break

    print("正在刷 %d 個碗" % i)
    i -= 1

print('程序結(jié)束')

運行結(jié)果:

媽扇商,還要我刷啊~~~~~~~~~
正在刷 10 個碗
媽凤瘦,還要我刷啊~~~~~~~~~
正在刷 9 個碗
媽,還要我刷啊~~~~~~~~~
正在刷 8 個碗
媽案铺,還要我刷啊~~~~~~~~~
正在刷 7 個碗
媽蔬芥,還要我刷啊~~~~~~~~~
正在刷 6 個碗
媽,還要我刷啊~~~~~~~~~
好了,不用刷了
程序結(jié)束

2. continue

continue 會立即結(jié)束當前這一次循環(huán)笔诵,跳轉(zhuǎn)到下一輪循環(huán)的條件判斷返吻,代碼還在當前循環(huán)中執(zhí)行。

i = 10

while i > 0:
    print("媽乎婿,還要我刷啊~~~~~~~~~")
    if i == 5:
        print('好了测僵,不用刷了')

        i -= 1  # continue 之前要注意修改 i 的值,否則容易導(dǎo)致死循環(huán)
        continue

    print("正在刷 %d 個碗" % i)
    i -= 1

print('程序結(jié)束')

運行結(jié)果:

媽谢翎,還要我刷啊~~~~~~~~~
正在刷 10 個碗
媽捍靠,還要我刷啊~~~~~~~~~
正在刷 9 個碗
媽,還要我刷啊~~~~~~~~~
正在刷 8 個碗
媽森逮,還要我刷啊~~~~~~~~~
正在刷 7 個碗
媽榨婆,還要我刷啊~~~~~~~~~
正在刷 6 個碗
媽,還要我刷啊~~~~~~~~~
好了褒侧,不用刷了
媽良风,還要我刷啊~~~~~~~~~
正在刷 4 個碗
媽,還要我刷啊~~~~~~~~~
正在刷 3 個碗
媽璃搜,還要我刷啊~~~~~~~~~
正在刷 2 個碗
媽拖吼,還要我刷啊~~~~~~~~~
正在刷 1 個碗
程序結(jié)束

3. 注意點

  • break/continue只能用在循環(huán)中,除此以外不能單獨使用
  • break/continue在嵌套循環(huán)中这吻,只對最近的一層循環(huán)起作用

十一吊档、while循環(huán)的嵌套及應(yīng)用

類似if的嵌套,while嵌套就是:while里面還有while

while嵌套的格式

while 條件1:

    條件1滿足時唾糯,做的事情1
    條件1滿足時怠硼,做的事情2
    條件1滿足時,做的事情3
    ...(省略)...

    while 條件2:
        條件2滿足時移怯,做的事情1
        條件2滿足時香璃,做的事情2
        條件2滿足時,做的事情3
        ...(省略)...

while嵌套應(yīng)用一

要求:打印如下圖形:

*
* *
* * *
* * * *
* * * * *

參考代碼:

i = 1
while i <= 5:
    j = 1
    while j <= i:
        print("* ", end = '')  # end = ''舟误,為末尾end傳遞一個空字符串,這樣print函數(shù)不會在字符串末尾添加一個換行符,而是添加一個空字符串
        j += 1

    print("\n")
    i += 1

while嵌套應(yīng)用二:九九乘法表

九九乘法表

參考代碼:

i = 1
while i<=9:
    j=1
    while j<=i:
        print("%d*%d=%-2d " % (j, i, i*j), end = '')  # %-2d:2位左對齊 不夠兩位補空格
        j+=1
    print('\n')
    i+=1

十二葡秒、for循環(huán)

  • while循環(huán)一樣,for可以完成循環(huán)的功能嵌溢。

  • 在Python中 for循環(huán)可以遍歷任何序列的項目眯牧,如一個列表或者一個字符串等。

for循環(huán)的格式

for 臨時變量 in 列表或者字符串等可迭代對象:
    循環(huán)滿足條件時執(zhí)行的代碼

demo1:

name = 'itheima'

for x in name:
    print(x)

運行結(jié)果如下:

i
t
h
e
i
m
a

demo2:

name = 'itheima'
for x in name:
    if x == 'e':
        print("不能使用字符 e")
    else:
        print(x)

運行結(jié)果如下:

i
t
h
不能使用字符 e
i
m
a

demo3:
for 循環(huán)的 else 語句只有當循環(huán)正常結(jié)束才會執(zhí)行赖草,也就是沒有被 break 打斷才會執(zhí)行

name = 'itcast'
for x in name:
    if x == 'e':
        print("不能使用字符 e")
        break
    else:
        print(x)
else:
    print('沒有出現(xiàn)禁止使用的字符')

運行結(jié)果如下:

i
t
h
c
a
s
t
沒有出現(xiàn)禁止使用的字符
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末学少,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子秧骑,更是在濱河造成了極大的恐慌版确,老刑警劉巖扣囊,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異绒疗,居然都是意外死亡侵歇,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門吓蘑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來盒至,“玉大人,你說我怎么就攤上這事士修。” “怎么了樱衷?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵棋嘲,是天一觀的道長。 經(jīng)常有香客問我矩桂,道長沸移,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任侄榴,我火速辦了婚禮雹锣,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘癞蚕。我一直安慰自己蕊爵,他們只是感情好,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布桦山。 她就那樣靜靜地躺著攒射,像睡著了一般。 火紅的嫁衣襯著肌膚如雪恒水。 梳的紋絲不亂的頭發(fā)上会放,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天,我揣著相機與錄音钉凌,去河邊找鬼咧最。 笑死,一個胖子當著我的面吹牛御雕,可吹牛的內(nèi)容都是我干的矢沿。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼饮笛,長吁一口氣:“原來是場噩夢啊……” “哼咨察!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起福青,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤摄狱,失蹤者是張志新(化名)和其女友劉穎脓诡,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體媒役,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡祝谚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了酣衷。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片交惯。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖穿仪,靈堂內(nèi)的尸體忽然破棺而出席爽,到底是詐尸還是另有隱情,我是刑警寧澤啊片,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布只锻,位于F島的核電站,受9級特大地震影響紫谷,放射性物質(zhì)發(fā)生泄漏齐饮。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一笤昨、第九天 我趴在偏房一處隱蔽的房頂上張望祖驱。 院中可真熱鬧,春花似錦瞒窒、人聲如沸捺僻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽陵像。三九已至,卻和暖如春寇壳,著一層夾襖步出監(jiān)牢的瞬間醒颖,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工壳炎, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留泞歉,地道東北人。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓匿辩,卻偏偏與公主長得像腰耙,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子铲球,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容

  • If判斷語句 if語句是用來進行判斷的挺庞,其使用格式如下: if要判斷的條件: 條件成立時,要做的事情 demo1...
    心藏_有你閱讀 957評論 0 2
  • day04.判斷語句和循環(huán)語句【Python教程】 一稼病、if-else 想一想:在使用if的時候选侨,它只能做到滿足條...
    Java幫幫閱讀 1,415評論 0 1
  • 核雕手串要顯的不單調(diào)援制,加些配飾點綴戏挡。三通、佛頭和背云就是不錯的選擇晨仑。 三通褐墅,是常見的核雕配飾,有三個通氣孔洪己。 三通...
    小核一首閱讀 2,711評論 0 0
  • 熊志軍~【日精進打卡第588】 12月27號卡 付達新商貿(mào)~眾德營銷 沈陽盛和塾道盛組/稻芽七組 【知~學(xué)習(xí)】 ■...
    熊志軍閱讀 171評論 0 0
  • |美|愛華德.威爾遜 環(huán)境的改變使生命周期處于瞬息之間妥凳,物種的流動使生命循環(huán)成為可能性。生生不息答捕,周而復(fù)始猾封,就是物...
    綠鈴0000000閱讀 471評論 0 0