day5-if,for,while
代碼是從上往下一次執(zhí)行的
import是導(dǎo)入一個模塊/包的關(guān)鍵字
random模塊中提供很多和隨機數(shù)相關(guān)的功能
1.if
python中的分之結(jié)構(gòu)只有if結(jié)構(gòu),沒有switch
1.if就是在程序用來做判斷的(需要在滿足某個條件的時候,才做什么事情的情況下就考慮用if)
randint(m,n) ---> 產(chǎn)生一個m到n的隨機數(shù)(整數(shù))
num = random.randint(0, 10)
2.if結(jié)構(gòu):
* a.語法:
if 條件語句:
執(zhí)行語句塊
* b.說明
if -> 是python的關(guān)鍵字
條件語句 -> 要求最終有一個值,可以是一個字面量,也可以是一個變量...一般情況下要求結(jié)果是個布爾值
: -> 固定寫法
執(zhí)行語句塊 -> 可以是一行或者多行代碼。這個代碼中的代碼必須和前面中的if保持一個縮進
* c.執(zhí)行過程: 先判斷條件語句的結(jié)果是否為True,為True就執(zhí)行冒號后面的執(zhí)行語句塊。
否則就不執(zhí)行,直接執(zhí)行if結(jié)構(gòu)后面的其他語句。
* d.注意:在滿足條件后才執(zhí)行的代碼寫在if中,不管條件是否成立都要執(zhí)行的代碼就寫在if的外面。
但是如果有if,if里面至少要有一條語句
print(num)
if num&1 == 0:
print('是偶數(shù)')
print('======')
3.if-else結(jié)構(gòu)
語法:
if 條件語句:
語句塊1
else:
語句塊2
執(zhí)行過程: 先判斷條件語句是否為True,如果為True就執(zhí)行語句塊1,否則執(zhí)行語句塊2
num = 11
if num%2 == 0:
print('是偶數(shù)')
else:
print('是奇數(shù)')
print('是數(shù)字')
4.if-elif-else結(jié)構(gòu)
語法:
if 條件語句1:
語句塊1
elif 條件語句2:
語句塊2
else:
語句塊3
執(zhí)行過程: 先判斷條件語句1是否成立,
如果成立直接性質(zhì)語句塊1,然后整個if結(jié)構(gòu)結(jié)束。
如果不成立,再判斷條件語句2是否成立。
如果條件語句2成立,就執(zhí)行語句塊2,然后整個if結(jié)構(gòu)結(jié)束。
如果條件語句2不成立,執(zhí)行語句塊3
注意:if-elif-else結(jié)構(gòu)中,elif可以根據(jù)情況有多個。else可以省略,如果有else,else寫在最后
age = random.randint(0, 100)
print(age)
if age<=3:
print('幼兒')
elif age<=12:
print('兒童')
elif age<=18:
print('少年')
elif age<=28:
print('青年')
else:
print('老年')
5.if嵌套
在分之結(jié)構(gòu)中,我們可以if,elif或者else后面嵌套一個或者多個其他的if語句
2.for
python中的循環(huán)結(jié)構(gòu)有兩種:for循環(huán)和while循環(huán)
當某個操作/某段代碼需要重復(fù)的執(zhí)行的時候,就需要用到循環(huán)結(jié)構(gòu)
1.for循環(huán)結(jié)構(gòu)
語法:
for 變量 in 序列:
循環(huán)體
說明:
for -> 關(guān)鍵字,寫法固定
變量 -> 變量名,按照變量名要求命名
in -> 關(guān)鍵字,寫法固定
序列 -> 要求是一個值,而且值必須一個序列(容器),比如:字符串、列表、字典、集合、元祖、迭代器、范圍(Range)
循環(huán)體 -> 和for保持一個縮進的代碼段。循環(huán)體會被重復(fù)執(zhí)行。循環(huán)體中可以寫任何代碼
執(zhí)行過程:讓變量去序列中取值,一個一個的取,取完為止。每取一個值,執(zhí)行一次循環(huán)體!
2.range函數(shù)
- a.range(n): 產(chǎn)生一個0 ~ n-1范圍對應(yīng)整數(shù)序列
- b.range(m,n): 產(chǎn)生一個m ~ n-1范圍對應(yīng)的整數(shù)序列
- c.range(m,n,step): 產(chǎn)生一個m ~ n-1中間隔step范圍對應(yīng)的整數(shù)序列
3.注意:循環(huán)結(jié)構(gòu)中變量取到的值不一定要在循環(huán)中使用。
如果這個變量的值在循環(huán)中不需要的時候,可以將變量名命名為_
while
1.while循環(huán)結(jié)構(gòu)
python中沒有do-while
語法:
while 條件語句:
循環(huán)體
說明:
while -> 關(guān)鍵字
條件語句 -> 和if后面的條件語句要求一樣,可以是任何有值的表達式(不能是賦值語句)
: -> 固定寫法
循環(huán)體 -> 重復(fù)執(zhí)行的代碼段。循環(huán)體要和while保持一個縮進
執(zhí)行過程:判斷條件語句的結(jié)果是否為True,為True執(zhí)行循環(huán)體。
執(zhí)行完循環(huán)體,再判斷條件語句是否為True,為True又執(zhí)行循環(huán)體...
依次類推,知道判斷條件語句的結(jié)果為False,循環(huán)就結(jié)束
注意: while True: ----> 死循環(huán)
for和while
1.如果是不斷的獲取序列中的元素,直接使用for循環(huán)
2.如果循環(huán)次數(shù)確定,最好也使用for循環(huán)
3.死循環(huán)和循環(huán)次數(shù)不確定的時候最好使用while
3.break,continue,else
1.continue
只能寫在循環(huán)體中,作用是,當遇到continue就結(jié)束當次循環(huán)直接進行下次循環(huán)的判斷
下次循環(huán)的判斷:for -> 讓變量取下一個值 while -> 判斷條件是否為True
for x in range(10):
print(x)
continue
print(x*2)
index = 1
while index < 10:
index += 1
continue
print('====')
2.break
只能寫在循環(huán)體中
只要在循環(huán)中遇到break,整個循環(huán)直接結(jié)束。執(zhí)行循環(huán)后面的其他語句
for x in range(1,10):
print(x)
break
print('=====')
print('#####')
3.else
for 變量 in 序列:
循環(huán)體
else:
代碼塊
while 條件語句:
循環(huán)體
else:
代碼塊