python三大库,Python 3.三大結構(基礎篇)

三大結構:

-順序-

-分支-

-循環-

-分支-:

1.分支的基本語法

1.if 條件表達式:

2.語句1

3.語句2 等等....

2.條件表達式就是計算結果必須為布爾值的表達式

3.不同於java,python分支表達式使用了冒號來代替大括號

4.注意表達式后面出現的語句,如果屬於同一級別,則必須同一距離縮進

5.條件表達式結果為True執行下面同一級別的語句塊

6.關於條件表達式的運算符是比較運算符(如不知道請去找字符串+變量的文章)

7.if語句可以嵌套使用,但不推薦

8.python沒有switch-case語句,乖乖用if吧

if語句例子

條件:如果age小於18歲,則打印“你還未成年,請去請示你家長”

age = 17

if age < 18:print("你還未成年,請去請示你家長")

結果如下:

你還未成年,請去請示你家長

關於if語句級別問題

age = 18 #我們可以在這里測試一下

if age < 18:print("你還未成年,請去請示你家長") #下面的句子與if為同一級別,所以不進入if的判斷機制

print("這個句子不進入if判斷語句中")

結果如下:

這個句子不進入if判斷語句中

-雙向分支-:

if..else..語句

語法:

if 條件表達式:

語句1

語句2

else:

語句1

語句2

雙向分支由兩個分支,當程序執行到if...else語句的時候,一定會執行其中一個,也僅僅執行一個(如果你的雙向分支語句兩個分支都沒執行,那一定是你程序問題)

縮進問題,else和if是同一級別,其余的語句也同一個級別

雙向分支例子

age = 18

if age < 18:print("你還未成年,請去請示你家長")else:print("你已經成年,需要擔負成年的責任了")

結果如下:

你已經成年,需要擔負成年的責任了

-多路分支-:

當雙向分支已經不足以去判斷很多分支的情況下,請使用多路分支

多路分支語法

if..else..語句

if 條件表達式:

語句1

語句2

elif 條件表達式:

語句1

語句2

...

else:

語句1

語句2

使用雙向分支去完成多路分支的工作顯得代碼很繁雜,沒有聯動性案例如下:input():在控制台商輸出括號內的字符串,接收用戶在控制台上輸入的內容並返回(返回的值一定是字符串類型)

案例條件:

90以上: 輸出優秀

80-90:良

70-80:中

60-70:平

60以下: 輸出:請補考

score = input("請輸入你的成績:")

score= int(score)#將字符串轉化為整數

if score >= 90:print("優秀")if score < 90 and score >= 80:print("良")if score < 80 and score >= 70:print("中")if score < 70 and score >= 60:print("平")if score< 60:print("請補考")

結果如下:

請輸入你的成績:88良

還是剛剛的例子,這次用多路分支來實現

score = input("請再次輸入你的成績:")

score=int(score)if score >= 90: #是不是感覺清晰很多

print("優秀")elif score >= 80:print("良")elif score >= 70:print("中")elif score >= 60:print("平")else:print("請補考")

結果如下:

請再次輸入你的成績:88良

-循環語句-:

重復執行某些固定動作或者處理基本固定的事物

分類

for循環

for循環語法: (不同於java C,python的for語法跟foreache相似)

for 變量 in 序列:

語句1

語句2

....

while 循環

表示當某條件成立的時候,就循環

不知道具體循環次數,但能確定循環的成立條件的時候用while循環

while語法:

while 條件表達式:

語句1

序列=一列數字或者其他值,一般用中括號"[]"表示

例如 ['haha','hihi','wawa']

for循環案例:

案例條件:打印學生列表姓名

for name in ['zhangsan','lisi','wangwu']:print(name)

結果如下:

zhangsan

lisi

wangwu

for循環嵌套if語句使用

for name in ['zhangsan','lisi','wangwu']:if name == "wangwu":print("{0}同學犯錯了,請罰站".format(name))else:print("{0}同學做的不錯,獎勵".format(name))

結果如下:

zhangsan同學做的不錯,獎勵

lisi同學做的不錯,獎勵

wangwu同學犯錯了,請罰站

-range-:

生成一個數字序列

具體范圍可以設定

在python,如果有表示數字范圍的兩個數,一般左邊的數字為首,右邊的數字為尾但是不包含

range函數在python2和python3里面右嚴重的區別(這里以python3為例子)

range案例

案例條件:打印1到10的數字

for i in range(1,11):print(i)

結果如下:

1

2

3

4

5

6

7

8

9

10

in 后面的變量要求是可以可迭代的內容

for i in range(1,10):

print(i)

print(type(range(1,10)))

結果如下:

1

2

3

4

5

6

7

8

9

-for-else語句-:

當for循環結束的時候,就會執行else語句(跟if有區別,前者是當for執行完才執行,后者是只執行一個)

我個人喜歡數字3 ,所以當循環到數字3時候就打印出來,其他則打印"我不喜歡這個數字",在整個循環結束之后打印“我熱愛數字”這句話

for i in range(1,11):if i == 3:print("我喜歡數字{0}".format(i))else: #這里請看仔細,兩個else的階級是不一致的,一個是if的else,一個是for的else

print("我不喜歡這個數字")else:print("我熱愛數字")

結果如下:

我不喜歡這個數字

我不喜歡這個數字

我喜歡數字3

我不喜歡這個數字

我不喜歡這個數字

我不喜歡這個數字

我不喜歡這個數字

我不喜歡這個數字

我不喜歡這個數字

我不喜歡這個數字

我熱愛數字

關於循環的關鍵字:break ,contineu ,pass

break :無條件結束整個循環,簡稱循環猝死

continei: 無條件結束本次循環,重新進入下一輪循環

pass:表示略過,通常用於占位

for 循環中的變量表示,一般用i,k,m,n之類的(約定俗成)

如果循環變量不重要,可以用下划線(_)表示

-break-:

案例條件:在數字1到10里面尋找3,找到之后打印並且馬上結束循環,可以避免過多的進程

for _ in range(1,11):if _ == 3:print("我找到了{0}".format(_))break

else:print(_) #打印到2

結果如下:

1

2我找到了3

-contineu-:

案例條件在數字1到10里面尋找所有偶數,並且打印出來

a = 1

for i in range(1,11):if i%2 == 1:continue; #直接本次循環結束,也不進行a的運算

a += 1;else:print("{0}是偶數".format(i))print("a的值為{0}".format(a)) #如果a的值大於1,則代表沒有結束循環

結果如下:

2是偶數

a的值為1

4是偶數

a的值為1

6是偶數

a的值為1

8是偶數

a的值為1

10是偶數

a的值為1

有時候,能運用一些細節來縮寫代碼達到同樣的效果

for i in range(1,11):if i%2 == 0: #直接判斷是否為偶數,而不是進行篩選

print("{0}是偶數".format(i))

結果如下:

2是偶數

4是偶數

6是偶數

8是偶數

10是偶數

-pass-:

運用pass關鍵字進行占位,占據一個空格的位置

很多時候我們創建一些函數或者循環等等是覺得在后面會有用,但是目前來說不確定里面怎么運算,空着呢又會出錯,這時就需要pass來進行占位

for i in range(1,2):pass #不會報錯

結果如下:

36a7e00f28d4b5fa9b3608108380d2e5.png

-while-:

案例條件:年利率是6.7%,本利是每年翻滾,則多少年后本錢會翻倍

當前知道年利率(循環條件),不知道多少年(循環次數)

year =0

qian= 100000

while qian < 200000: #利用知道本錢這個循環條件來建立循環

year += 1qian= qian*(1+0.067)print("第{0}年,我現在有{1}".format(year,qian))

結果如下:

第1年,我現在有106700.0

第2年,我現在有113848.9第3年,我現在有121476.77629999998第4年,我現在有129615.72031209998第5年,我現在有138299.97357301068第6年,我現在有147566.07180240238第7年,我現在有157452.99861316333第8年,我現在有168002.34952024528第9年,我現在有179258.5069381017第10年,我現在有191268.8269029545第11年,我現在有204083.83830545243

while...else,和for...else...用法一樣

條件跟前面一致,當本錢翻倍時候,就用print慶祝一下

year =0

qian= 100000

while qian < 200000:

qian= qian * (1+0.067)

year+= 1

print("第{0}年,我現在有{1}".format(year,qian))else: #當前else和while處於同一級

print("終於翻倍了,不容易啊")

結果如下:

第1年,我現在有106700.0

第2年,我現在有113848.9第3年,我現在有121476.77629999998第4年,我現在有129615.72031209998第5年,我現在有138299.97357301068第6年,我現在有147566.07180240238第7年,我現在有157452.99861316333第8年,我現在有168002.34952024528第9年,我現在有179258.5069381017第10年,我現在有191268.8269029545第11年,我現在有204083.83830545243終於翻倍了,不容易啊

順序結構

在不包含分支結構(條件判斷),循環結構(for ,while)情況下一步一步往下執行

文筆不好,僅供參考

要有錯誤或者有其他更多的見解,歡迎大家加我QQ384435742來交流

想第一時間看更新的文章,請關注,謝謝

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值