目錄
條件判斷 if
循環(huán)?
for ... in ...
while
break
continue
繼 "Python 學(xué)習(xí)之路二":
條件判斷 if
比如,輸入用戶年齡,根據(jù)年齡打印不同的內(nèi)容,在 Python 程序中,用 if 語(yǔ)句實(shí)現(xiàn):
>>> age = 18
>>> if age >= 18 :
print("your age is ",age)
print("adult")
your age is 18
adult
>>>
根據(jù) Python 的縮進(jìn)規(guī)則,如果 if 語(yǔ)句判斷是 True,就把縮進(jìn)的兩行 print 語(yǔ)句執(zhí)行了,否則,什么也不做。也可以給 if 添加一個(gè) else 語(yǔ)句,意思是,如果 if 判斷是 False,不要執(zhí)行 if 的內(nèi)容,去把 else 執(zhí)行了:
>>> age = 9
>>> if age >= 18:
print("your age is",age)
print("adult")
else:
print('your age is',age)
print("teenager")
your age is 9
teenager
>>>
(注意不要少寫了冒號(hào) : )
當(dāng)然上面的判斷是很粗略的,完全可以用 elif 做更細(xì)致的判斷:
>>> age = 3
>>> if age >= 18:
print("adult")
elif age >= 6:
print("teenager")
else:
print("kid")
kid
>>>
elif 是 else if 的縮寫,完全可以有多個(gè) elif,所以 if 語(yǔ)句的完整形式就是:
if <判斷條件1>:
執(zhí)行語(yǔ)句1
elif <判斷條件2>:
執(zhí)行語(yǔ)句2
elif <判斷條件3>:
執(zhí)行語(yǔ)句3
else :
執(zhí)行語(yǔ)句4
if 語(yǔ)句執(zhí)行有個(gè)特點(diǎn),它是從上往下判斷,如果在某個(gè)判斷上是 True,把該判斷對(duì)應(yīng)的語(yǔ)句執(zhí)行后,就忽略掉剩下的 elif 和 else,所以,請(qǐng)測(cè)試并解釋為什么下面的程序打印的是 teenager:
>>> age = 3
>>> if age >= 18:
print("adult")
elif age >= 6:
print("teenager")
else:
print("kid")
kid
if 判斷條件還可以簡(jiǎn)寫,比如寫:
if x:
print("True")
只要 x 是非零數(shù)值、非空字符串、非空 list 等,就判斷為 True,否則為 False。補(bǔ)充:可以使用 input()進(jìn)行數(shù)據(jù)的輸入.注意輸入的內(nèi)容是 str,如果需要 int 需要進(jìn)行類型轉(zhuǎn)換。
循環(huán)?
Python 的循環(huán)有兩種
for ... in ...
一種是 for...in 循環(huán),依次把 list 或 tuple 中的每個(gè)元素迭代出來(lái):
>>> names = ["Michael","Bob","Tracy"]
>>> for name in names :
print(name)
Michael
Bob
Tracy
所以 for x in ...循環(huán)就是把每個(gè)元素代入變量 x,然后執(zhí)行縮進(jìn)塊的語(yǔ)句.如我們想計(jì)算 1-10 的整數(shù)之和,可以用一個(gè) sum 變量做累加:
>>> sum = 0
>>> for x in [1,2,3,4,5,6,7,8,9,10]:
sum = sum + x
print(sum)
1
3
6
10
15
21
28
36
45
55
>>>
如果要計(jì)算 1-100 的整數(shù)之和,從 1 寫到 100 有點(diǎn)困難,幸好 Python 提供一個(gè) range()函數(shù),可以生成一個(gè)整數(shù)序列,再通過(guò) list()函數(shù)可以轉(zhuǎn)換為 list。比如 range(5)生成的序列是從 0 開始小于 5 的整數(shù):
>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>
while
第二種循環(huán)是 while 循環(huán),只要條件滿足,就不斷循環(huán),條件不滿足時(shí)退出循環(huán)。比如我們要計(jì)算 100 以內(nèi)所有奇數(shù)之和,可以用 while 循環(huán)實(shí)現(xiàn):
>>> sum = 0
>>> n = 99
>>> while n > 0 :
sum += n
n -= 2
print(sum)
break
在循環(huán)中,break 語(yǔ)句可以提前退出循環(huán)。例如,本來(lái)要循環(huán)打印 1~100 的數(shù)字:
>>> n = 1
>>> while n <= 20 :
if n > 10 :
break
print(n)
n = n + 1
print("END")
執(zhí)行上面的代碼可以看到,打印出 1~10 后,緊接著打印 END,程序結(jié)束。可見 break 的作用是提前結(jié)束循環(huán).
continue
在循環(huán)過(guò)程中,也可以通過(guò) continue 語(yǔ)句,跳過(guò)當(dāng)前的這次循環(huán),直接開始下一次循環(huán)。
>>> n = 0
>>> while n < 10 :
n = n + 1
print(n)
1
2
3
4
5
6
7
8
9
10
>>>
上面的程序可以打印出 1~10。但是,如果我們想只打印奇數(shù),可以用 continue 語(yǔ)句跳過(guò)某些循環(huán):
>>> n = 0
>>> while n < 10 :
n = n + 1
if n % 2 == 0 :
continue
print(n)
1
3
5
7
9
>>>
?
?
?
?
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
