1、
import是導(dǎo)入模塊/包的關(guān)鍵字
random模塊中能提供很多和隨機(jī)數(shù)相關(guān)的功能
randint(m,n)隨機(jī)產(chǎn)生一個(gè)在m、n之間的整數(shù)
import random
num=random.randint(0,9)
print(num)
Python中分支結(jié)構(gòu)語(yǔ)句只有if語(yǔ)句,沒(méi)有swith
if語(yǔ)句就是用來(lái)作判斷的語(yǔ)句(需要在滿足某個(gè)條件才執(zhí)行某件事情的情況下使用)
2.if結(jié)構(gòu):
a.語(yǔ)法:
if 條件語(yǔ)句:
執(zhí)行語(yǔ)句塊
b.說(shuō)明
if -> 是python的關(guān)鍵字
條件語(yǔ)句 -> 要求最終有一個(gè)值,可以是一個(gè)字面量,也可以是一個(gè)變量...一般情況下要求結(jié)果是個(gè)布爾值
: -> 固定寫法
執(zhí)行語(yǔ)句塊 -> 可以是一行或者多行代碼。這個(gè)代碼中的代碼必須和前面中的if保持一個(gè)縮進(jìn)
c.執(zhí)行過(guò)程: 先判斷條件語(yǔ)句的結(jié)果是否為True,為True就執(zhí)行冒號(hào)后面的執(zhí)行語(yǔ)句塊。
否則就不執(zhí)行,直接執(zhí)行if結(jié)構(gòu)后面的其他語(yǔ)句。
d.注意:在滿足條件后才執(zhí)行的代碼寫在if中,不管條件是否成立都要執(zhí)行的代碼就寫在if的外面。
但是如果有if,if里面至少要有一條語(yǔ)句
3.if-else結(jié)構(gòu)
語(yǔ)法:
if 條件語(yǔ)句:
語(yǔ)句塊1
else:
語(yǔ)句塊2
執(zhí)行過(guò)程: 先判斷條件語(yǔ)句是否為True,如果為True就執(zhí)行語(yǔ)句塊1,否則執(zhí)行語(yǔ)句塊2
例如:判斷字符串str里字母和數(shù)字情況
str='26hhj88(jk'
n1=random.randint(0,len(str)-1)
print(str[n1])
str1=str[n1]
if str1.isalpha(): #本行函數(shù)已自帶判斷Ture或False,如果是True執(zhí)行本行代碼,否則不執(zhí)行;
print(str1,"是字母")
else:
print(str1,'不是字母')
4.if-elif-else結(jié)構(gòu)
語(yǔ)法:
if 條件語(yǔ)句1:
語(yǔ)句塊1
elif 條件語(yǔ)句2:
語(yǔ)句塊2
else:
語(yǔ)句塊3
執(zhí)行過(guò)程: 先判斷條件語(yǔ)句1是否成立,
如果成立直接性質(zhì)語(yǔ)句塊1,然后整個(gè)if結(jié)構(gòu)結(jié)束。
如果不成立,再判斷條件語(yǔ)句2是否成立。
如果條件語(yǔ)句2成立,就執(zhí)行語(yǔ)句塊2,然后整個(gè)if結(jié)構(gòu)結(jié)束。
如果條件語(yǔ)句2不成立,執(zhí)行語(yǔ)句塊3
注意:if-elif-else結(jié)構(gòu)中,elif可以根據(jù)情況有多個(gè)。else可以省略,如果有else,else寫在最后
n2=random.randint(1,100)
print(n2)
if 0<=n2<=3:
print('幼兒')
elif 3<n2<13:
print('兒童')
elif 12<n2<19:
print('青少年')
elif 18<n2<41:
print('中年')
else:
print('老年')
練習(xí):成績(jī)(grade)和操評(píng)(score)
成績(jī)大于4并且操評(píng)大于90----一等獎(jiǎng)學(xué)金
成績(jī)3.5-4,并且操評(píng)大于90----二等
3-3.5,大于85---三等
其他----沒(méi)有
import random
grade=random.randint(3,5)
score=random.randint(80,100)
print(grade);
print(score);
if grade>=4 and score>=90:
print('一等獎(jiǎng)學(xué)金')
elif 3.5<=grade and score>=90:
print('二等獎(jiǎng)學(xué)金')
elif 3<=grade and score>=85:
print('三等獎(jiǎng)學(xué)金')
else:
print('沒(méi)有獎(jiǎng)學(xué)金')
總結(jié):涉及到取值范圍類型時(shí),取值范圍由小到大;
即if取值范圍最小,隨后的elif取值范圍逐漸加大,可以避免思維漏洞;
5.if嵌套
在分之結(jié)構(gòu)中,我們可以if,elif或者else后面嵌套一個(gè)或者多個(gè)其他的if語(yǔ)句
練習(xí):判斷一個(gè)數(shù)是否是偶數(shù),如果是打印'是偶數(shù)', 并且判斷這個(gè)偶數(shù)能不能被4整除,如果能打印'是4的倍數(shù)'否則打印'不是4的倍數(shù)'。 如果是奇數(shù),打印奇數(shù)的最后一位 / 判斷最后一位是否是1
print('===============')
num = random.randint(0,100)
print(num)
if num & 1 == 0:
print('是偶數(shù)')
判斷是偶數(shù)的時(shí)候,是否能夠被4整除
if num % 4 == 0:
print('是4的倍數(shù)')
else:
print('不是4的倍數(shù)')
else:
print('是奇數(shù)')
last = num % 10 # 取個(gè)位上的數(shù)
print(last)
判斷是奇數(shù)的時(shí)候最后一位是否是1
if last == 1:
print('最后一位是1')