條件分支(編程中的邏輯)
條件分支是計(jì)算機(jī)編程領(lǐng)域中的一個(gè)重要組成部分,不論哪種編程語(yǔ)言都存在分支機(jī)構(gòu)帽撑。
- 通俗的來(lái)說(shuō)就是滿足某種條件的時(shí)候去干某事,而不滿足的時(shí)候干另外一件事匣砖。
在代碼里面來(lái)說(shuō)就是腿倚,滿足 if 關(guān)鍵字后面的條件時(shí)就執(zhí)行 if 下面的代碼塊,不滿足就執(zhí)行 else 下面的代碼昼窗。 - 在Python中使用空白(空格/制表符-Tab)來(lái)標(biāo)識(shí)代碼塊是趴,所有縮緊在同一層級(jí)的代碼被看作是同一個(gè)代碼塊。利用代碼塊和if組合起來(lái)澄惊,使Python清楚的知道條件滿足需要執(zhí)行哪些代碼唆途,而條件不滿足的時(shí)候要從哪開(kāi)始執(zhí)行代碼。
num = 5
if num == 5:
print(num)
else:
print("test")
- 這會(huì)可能有任會(huì)問(wèn)了缤削,如果有多個(gè)條件呢窘哈,總不能一直if-else去寫吧吹榴。
當(dāng)然不需要了亭敢,請(qǐng)看下面示例
num = 5
if num == 1:
pring("num = 1")
elif num == 5:
pring("num = 5")
else:
pring("num不是數(shù)字")
在Python 中條件通常是通過(guò)對(duì)值進(jìn)行比較的方式而構(gòu)建出來(lái)的。使用比較運(yùn)算符即可對(duì)值進(jìn)行比較图筹。而比較的結(jié)果不是真(True)就時(shí)假(False)帅刀,正好符合了bool(布爾類型);
例如上述代碼中的 num = 5
就會(huì)返回True,num = 1
. 返回False远剩。
在Python中對(duì)每種數(shù)據(jù)類型也給出了為假(False)的方式扣溺,如下圖:
循環(huán)
循環(huán)的作用就是讓指定的代碼重復(fù)的執(zhí)行,而在Python中有兩種常用的循環(huán)瓜晤,分別時(shí)while和for锥余,下面分別介紹兩種循環(huán)
whlie
while 條件():
條件滿足時(shí),做的事情1
條件滿足時(shí)痢掠,做的事情2
......
- 基本用法
# 定義一個(gè)整數(shù)變量驱犹,記錄循環(huán)的次數(shù)
i=1
# 開(kāi)始循環(huán)
while i <= 3:
# 希望循環(huán)內(nèi)執(zhí)行的代碼
print('hello python')
# 處理計(jì)數(shù)器
i+=1
需要注意的是嘲恍,使用while
循環(huán)時(shí),一定要給出循環(huán)結(jié)束的條件,不然就成死循環(huán)了雄驹,例如:
while True:
print('hello python')
具體用法:
# 大家可以通過(guò)下面的猜數(shù)字游戲體會(huì):
"""
猜數(shù)字游戲:
1.系統(tǒng)隨機(jī)生成一個(gè)1~100的數(shù)字佃牛;
2.用戶共有5次機(jī)會(huì)猜;
3.如果用戶猜測(cè)數(shù)字大于系統(tǒng)給出的數(shù)字医舆,打印"too big"
4.如果用戶猜測(cè)數(shù)字小于系統(tǒng)給出的數(shù)字俘侠,打印"too small"
5.如果用戶猜測(cè)的數(shù)字等于系統(tǒng)給出的數(shù)字,打印"恭喜中獎(jiǎng)"蔬将,并退出循環(huán)
"""
import random
num = random.randint(1,100)
print(num)
i = 1
while i <= 5:
ans = int(input("請(qǐng)猜數(shù):"))
if ans > num:
print("too big爷速,還剩%d次機(jī)會(huì)"%(5-i))
elif ans < num:
print("too small,還剩%d次機(jī)會(huì)"%(5-i))
else:
print("恭喜中獎(jiǎng)!O蓟场遍希!")
break
i += 1
for
Python中的for循環(huán)是通過(guò)遍歷某一序列對(duì)象的來(lái)構(gòu)建循環(huán),結(jié)束條件就是隊(duì)形被遍歷完成/或者滿足某種條件以后使用break
關(guān)鍵字
for i in [1, 2, 3, 4]:
# 如果不添加if語(yǔ)句里烦,會(huì)將列表中的所有元素全部遍歷一遍凿蒜,添加以后,當(dāng)i=3的時(shí)候就會(huì)執(zhí)行break胁黑,然后結(jié)束循環(huán)
if i == 3:
break
print(i)
>>> 1 2
還有一種是結(jié)合range()
函數(shù)去使用的
list_1 = [1, 2, 3, 4]
for index in range(list_1):
# 現(xiàn)在的index是沒(méi)次獲取的列表元素中的下標(biāo)
print(index)
>>> 0 1 2 3
在for循環(huán)中废封,還有一個(gè)關(guān)鍵字可以結(jié)合使用,那就是continue
丧蘸,作用是跳過(guò)檔次循環(huán)
for i in [1, 2, 3, 4]:
if i == 3:
continue
print(i)
>>> 1 2 4
還有一種復(fù)雜一點(diǎn)的操作漂洋,就是嵌套for循環(huán)
例如:9 9乘法表
for i in range(1,10):
for j in range(1,i+1):
print('%d * %d = %d\t' %(i,j,i*j),end='')
print()