成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

3. Python中的分支判斷、循環(huán)

BicycleWarrior / 2127人閱讀

摘要:例如這顯然是不對的,所以式子的值是是變量名邏輯操作如果是則結(jié)果為,反之同理同時為時,結(jié)果為至少一個為,結(jié)果為在布爾值之間進(jìn)行運(yùn)算,之前說數(shù)據(jù)類型的時候也說過。我們說了例如這樣的比較的式子的值是布爾值,也就是說可以將式子進(jìn)行邏輯運(yùn)算。

本文利用的是Python 3.x版本,建議學(xué)習(xí)3.x版本
Python中的分支判斷、循環(huán) 1. 分支條件判斷 1.1 比較操作

以下是數(shù)之間常見的比較操作,例如5>3就是數(shù)學(xué)意義上的比較,5是大于3的,所以這個式子的值是True。如何比較,根據(jù)兩個數(shù)之間的符號判斷即可。這里要注意的是!=是不相等的意思,==是相等的意思。例如5==3這顯然是不對的,所以式子的值是False

# i j是變量名
i > j
i >= j
i < j
i <= j
i == j
i != j
1.2 邏輯操作
not a #如果a是True則 結(jié)果為False,反之同理
a and b #同時為True時,結(jié)果為True
a or b #至少一個為True,結(jié)果為True

在布爾值之間進(jìn)行運(yùn)算,之前說數(shù)據(jù)類型的時候也說過。我們說了例如5>3這樣的比較的式子的值是布爾值,也就是說可以將式子進(jìn)行邏輯運(yùn)算。例如

5>3 and 5==3
#相當(dāng)于True and False結(jié)果是False

下面是測試結(jié)果

1.3 控制流,分支

計算機(jī)可以進(jìn)行自動化操作,因?yàn)榭梢园凑瘴覀兘o定的條件判斷執(zhí)行,所以分支判斷是必不可少的。簡單來說就是,如果條件A成立,那么做些什么,不成立做些什么,例如如果今天下雨,我就不出門。

最簡單的條件判斷語句如下,有幾個地方容易出錯,條件后要用冒號,if條件塊里的代碼要進(jìn)行縮進(jìn),4個空格,如果了解其他語言的同學(xué)應(yīng)該知道,很多語言的代碼塊是靠大括號{}來標(biāo)識的。為什么要有代碼塊?代碼塊內(nèi)的代碼的層次是一樣的。舉個例子,如果不區(qū)分代碼塊,那么如果if判斷條件成立后,代碼究竟要執(zhí)行到哪里?所以當(dāng)條件成立時,執(zhí)行這個if后的代碼塊內(nèi)的內(nèi)容。一定要注意縮進(jìn),不然在py中會出錯的。當(dāng)然現(xiàn)在的代碼編輯器多數(shù)都很智能,在寫完冒號后敲擊回車,就可以自動縮進(jìn)4個空格,我用的VScode就是這樣的,很方便。

#如果<條件>為True,則執(zhí)行if塊
#里的操作,注意縮進(jìn)和冒號?。?if <條件>:
    操作1
    操作2
    ……
#實(shí)例
x = 6
if x>3 and x<8:
    print("hello")
#結(jié)果會打印出hello    

接下來稍微復(fù)雜,就是if else,意思是如果if判斷的條件成立(結(jié)果為True),則執(zhí)行if代碼塊內(nèi)的代碼,如果不成立則執(zhí)行else代碼塊內(nèi)的代碼。簡單來說就是如果條件成立,則執(zhí)行if代碼塊內(nèi)的代碼,否則執(zhí)行else內(nèi)的代碼。elseif一樣也要加冒號以及代碼塊的縮進(jìn)。

#先執(zhí)行if的<條件>查看是否為True,
#如果為True則進(jìn)入if塊,不會進(jìn)入
#else,如果為False則進(jìn)入else,不進(jìn)入if
if <條件>:
    操作1
    操作2
    ……
else:
    操作1
    操作2
    ……
#實(shí)例
x = 6
if x > 7:
    print(1)
else:
    print(2)
#結(jié)果會打印出2

接下來是多條件判斷,以上的判斷都是單條件,非此即彼的判斷。多條件判斷可以用多個條件來判斷,先查看條件1是否成立,如果成立則進(jìn)入代碼塊執(zhí)行,如果條件1不成立,繼續(xù)看條件2是否成立……多條件用elif也要加冒號以及代碼塊縮進(jìn)。

# 多重條件,先看是否能進(jìn)if,
# 如果沒進(jìn)則繼續(xù)判斷是否能進(jìn)elif……
# 如果都沒進(jìn),且有else的話,進(jìn)入else
if <條件1>:
    操作1
    操作2
    ……
elif<條件2>:# elif可以有多個
    操作1
    操作2
    ……
else:# else可以沒有
    表達(dá)式
    表達(dá)式
    ……
#實(shí)例
x = 6
if x > 10:
    print(1)
elif x > 7 and x < 9:
    print(2)
elif x > 4 and x < 7:
    print(3)
else:
    print(4)
#結(jié)果會打印出3

這里再說一下多重條件和多個if的區(qū)別,在多重條件中,一旦某一條件成立,那么之后的代碼就不會執(zhí)行了,就不會再去判斷之后的條件了。

if <條件1>:#每個條件都要判斷
    操作
if <條件2>:#每個條件都要判斷
    操作
if <條件3>:#每個條件都要判斷
    操作


if <條件1>:#如果條件1成立,不再判斷后面的條件
    操作
elif <條件2>:
    操作
elif <條件3>:
    操作

嵌套條件判斷,不建議過深的嵌套

if <條件1>:
    if <條件2>:
        操作
    else:
        操作
else:
    操作

練習(xí)一下,要求用戶從控制臺輸入兩個float數(shù)(x,y),要給出提示(例如:請輸入數(shù)x),判斷x y的大小,如果相等則輸出相等。如果x大則輸出x大,如果x小則輸出x小。如果x大于y時,如果y不等于0,則輸出x/y的數(shù)值。

x = float(input("請輸入數(shù)x:"))
y = float(input("請輸入數(shù)y:"))
if abs(x-y)<1.0e-9:
    print("x,y相等")
elif x > y:
    print("x大于y")
    if abs(y)>1.0e-9:
        print("x/y=",x/y)
else:
    print("x小于y")

解釋一下abs(x-y)<1.0e-9,abs是求絕對值函數(shù),當(dāng)xy的差值小于1^(-9)時,就認(rèn)為xy是相等的,這是因?yàn)楦↑c(diǎn)數(shù)的表示是有誤差的,用==來比較很危險,所以只要在我們需要的精度內(nèi)相等即可。

2. 循環(huán) 2.1 while loop

當(dāng)我們需要執(zhí)行大量相似的操作時,這時循環(huán)就派上用場了,首先說一下while循環(huán)。

while <條件>:#注意冒號和4個空格的縮進(jìn)
    操作
    ……

如果<條件>True,則執(zhí)行while塊里的所有操作,然后繼續(xù)檢查<條件>是否為True,一直重復(fù)塊里的表達(dá)式,直到<條件>False,如下例子

n = 0
while n < 5:
    print(n)
    n = n + 1
2.2 for loop

for循環(huán),相對于while更加確定執(zhí)行的次數(shù),while根據(jù)條件來確定是否執(zhí)行,而for通常是給定了執(zhí)行的次數(shù)。

for <變量> in range(<一些數(shù)字>):
    <表達(dá)式>#注意冒號和4個空格的縮進(jìn)
    ……
#實(shí)例
for v in range(6):
    print(v)
#結(jié)果會打印0-5
sum = 0
for i in range(101):
    sum = sum + i
#求0-100的和

相當(dāng)于每次把值賦予給變量,然后在代碼塊內(nèi)部可以使用這個變量,

2.3 range(start,stop,step)

默認(rèn)的參數(shù)是start=0,代表從哪個數(shù)開始,step=1,代表步長,意味著每次增加多少,數(shù)的范圍是0~stop-1

mysum = 0
for i in range(7,10):
    mysum += i
print(mysum)
#求7 8 9的和
mysum = 0
for i in range(5,11,2):
    mysum += i
print(mysum)
#求5 7 9的和
2.4 break

break表示立即退出循環(huán),跳過剩下在塊里的表達(dá)式,僅僅退出最里層的循環(huán)!簡單來說就是給一個條件,當(dāng)這個條件成立時,退出循環(huán),經(jīng)常和if搭配使用。

mysum = 0
for i in range(5,11,2):
    mysum += i
    #當(dāng)mysum等于5的時候,退出循環(huán)
    if mysum == 5:
        break
        musum += 1
print(mysum)
2.5 for和while的比較

for

知道迭代的次數(shù)

可以通過break提前結(jié)束循環(huán)

使用計數(shù)器,因?yàn)橛袀€變量可以幫助計數(shù)

可以用while循環(huán)來重寫for循環(huán)

while

迭代次數(shù)無限制

可以通過break提前結(jié)束循環(huán)

可以使用計數(shù)器,但是得提前初始化,并且每次得更新

可能沒法用for循環(huán)重寫while

到此為止有了判斷、循環(huán)、輸入、輸出后,就可以寫一些簡單的程序了

如果覺得不錯,可以分享~,可以關(guān)注公眾號~

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/43122.html

相關(guān)文章

  • Python入門-控制流

    摘要:返回索引頁控制流分支結(jié)構(gòu)循環(huán)結(jié)構(gòu)和總結(jié)練習(xí)參考控制流上一張我們了解了的基本語法和數(shù)據(jù)結(jié)構(gòu)。和后必須加判斷表達(dá)式,一般表達(dá)式返回值為布爾型,當(dāng)非布爾型時,表示該值是否存在。語句以英文冒號結(jié)尾邏輯代碼塊以個空格或分隔。 < 返回索引頁 控制流 分支結(jié)構(gòu) if/elif/else 循環(huán)結(jié)構(gòu) for while break 和 continue pass 總結(jié) 練習(xí) 參考...

    silvertheo 評論0 收藏0
  • python判斷循環(huán)

    摘要:的判斷與循環(huán)今天主要介紹一下中的判斷與循環(huán)控制。本來之前寫的標(biāo)題名字是的流程控制,但是想了想,流程控制又不僅限于條件判斷和循環(huán)的控制。根據(jù)各分支的條件判斷來決定對應(yīng)的執(zhí)行操作。例如當(dāng)時退出循環(huán)四關(guān)鍵字,其作用是提前退出當(dāng)層循環(huán)。 Python的判斷與循環(huán) 今天主要介紹一下Python中的if判斷與循環(huán)控制。本來之前寫的標(biāo)題名字是Python的流程控制,但是想了想,流程控制又不僅限于條件...

    sixgo 評論0 收藏0
  • Python 工匠:編寫條件分支代碼的技巧

    摘要:系列文章工匠善用變量改善代碼質(zhì)量序言編寫條件分支代碼是編碼過程中不可或缺的一部分。而進(jìn)行條件分支判斷時用到的也是這個值重點(diǎn)來了,雖然所有用戶類實(shí)例的布爾值都是真。 歡迎大家前往騰訊云+社區(qū),獲取更多騰訊海量技術(shù)實(shí)踐干貨哦~ 本文由鵝廠優(yōu)文發(fā)表于云+社區(qū)專欄 作者:朱雷 | 騰訊IEG高級工程師 『Python 工匠』是什么? 我一直覺得編程某種意義是一門『手藝』,因?yàn)閮?yōu)雅而高效的代碼...

    KaltZK 評論0 收藏0
  • Python數(shù)據(jù)類型和分支循環(huán)

    摘要:會認(rèn)為子類是一種父類類型。一般記為它是編程語言中表示文本的數(shù)據(jù)類型。運(yùn)算是與運(yùn)算,只有所有都為,運(yùn)算結(jié)果才是布爾值經(jīng)常用在條件判斷中列表列表是中使用最頻繁的數(shù)據(jù)類型。是中內(nèi)置的一種數(shù)據(jù)類型,可以隨時添加和刪除其中的元素。 了解過了Python的發(fā)展歷史,現(xiàn)在開始我們的Python基礎(chǔ)吧,如果你有學(xué)習(xí)過其他的編程語言,你可以跳過這一篇 PyCharm使用圖解 開發(fā)python的工具你可以...

    archieyang 評論0 收藏0
  • 編程語言之問:何時該借用,何時該創(chuàng)造?

    摘要:普通可迭代對象只有魔術(shù)方法,而不像迭代器一樣擁有魔術(shù)方法,這意味著它無法實(shí)現(xiàn)自遍歷過程,同時在經(jīng)過循環(huán)的它遍歷后,也不會破壞原有的結(jié)構(gòu)。這兩個是我創(chuàng)造的概念,詳見進(jìn)階迭代器與迭代器切片。 showImg(https://segmentfault.com/img/remote/1460000019621809); 本文原創(chuàng)并首發(fā)于公眾號【Python貓】,未經(jīng)授權(quán),請勿轉(zhuǎn)載。 原文地址:...

    spademan 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<