一艺玲、if語(yǔ)句
3.if-elif-elif-...-else
'''if 條件語(yǔ)句1:
代碼塊1
elif 條件語(yǔ)句2:
代碼塊2
else:
代碼塊3
其他語(yǔ)句
執(zhí)行過程:先判斷條件語(yǔ)句1是否為T,如果為T,就執(zhí)行代碼塊1夹囚,
執(zhí)行完代碼塊1就執(zhí)行其他語(yǔ)句。如果條件語(yǔ)句1是F,就判斷條件
語(yǔ)句2是否為T,如果條件語(yǔ)句2是T藕各,就執(zhí)行代碼塊2萎河,執(zhí)行完代碼塊2
再執(zhí)行其他語(yǔ)句。如果條件語(yǔ)句2也為F,則執(zhí)行代碼塊3橙数,執(zhí)行完代碼塊3
再執(zhí)行其他語(yǔ)句尊流。
'''
給一個(gè)學(xué)生的成績(jī),判斷成績(jī)是優(yōu)秀(90-100)灯帮、良好(70-89)崖技、及格(60-69)逻住、不及格(0-59)
score=101
if 90<=score<=100:
print('優(yōu)秀')
elif 70<=score<90:
print('良好')
elif 60<=score<70:
print('及格')
elif 0<=score<60:
print('不及格')
else:
print('輸入數(shù)據(jù)有誤')#--->輸入數(shù)據(jù)有誤
4.if語(yǔ)句可以嵌套使用
'''
if 條件語(yǔ)句1:
if 條件語(yǔ)句2:
執(zhí)行語(yǔ)句塊2
else:
執(zhí)行語(yǔ)句塊3
else:
執(zhí)行語(yǔ)句塊4
'''
'''
練習(xí):給一個(gè)數(shù)字(整數(shù)),如果是偶數(shù)就打印'偶數(shù)'迎献,
是偶數(shù)并且還能被4整除就打印是'4的倍數(shù)'否則打印是'奇數(shù)'
'''
number=8
if number%2==0:
print('偶數(shù)')
if number%4==0:
print('4的倍數(shù)')
else:
print('奇數(shù)')#---->4的倍數(shù)
方法2
if isinstance(8,int):
print('是整數(shù)')
if number%2:
print('奇數(shù)')
else:
print('偶數(shù)')
5.判斷數(shù)據(jù)的類型
'''isinstance(值瞎访,類型名)--->判斷指定的值是否是指定的類型,
如果是結(jié)果為True,否則為Flase
'''
print(isinstance(10,int))#--->True 判斷10是否是整數(shù)型
二忿晕、類型的強(qiáng)制轉(zhuǎn)換
數(shù)據(jù)類型轉(zhuǎn)換:類型名(被轉(zhuǎn)換的數(shù)據(jù))
int float bool str
1.其他的數(shù)據(jù)類型轉(zhuǎn)換成整型:int()
'''
浮點(diǎn)型:只保留整數(shù)部分
布爾類型:Ture-->1 False-->0
字符串:去掉字符串的引號(hào)后装诡,
剩下的部分本身就是一個(gè)整型數(shù)據(jù)的字符串才能轉(zhuǎn)換成整數(shù)。
'''
print (int(12.9))#--->12
print(int(True))#--->1
print(int('-12'))#--->-12
2.其他的數(shù)據(jù)類型轉(zhuǎn)換成浮點(diǎn)型:float()
'''
整型:在整數(shù)后面就一個(gè)'.0'
布爾類型:True-->1.0 False-->0.0
字符串:去掉字符串的引號(hào)后践盼,
剩下的部分本身就是一個(gè)整型或者浮點(diǎn)型數(shù)據(jù)的字符串才能轉(zhuǎn)換成浮點(diǎn)型鸦采。
'''
print(float(123))#--->123.0
print(float(True))#--->1.0
print(float('-100.23'))#--->-100.23
3.其他數(shù)據(jù)的類型轉(zhuǎn)換成布爾類型:bool()
'''
不管什么類型的數(shù)據(jù)都可以轉(zhuǎn)換成布爾型
整數(shù)中除了0會(huì)轉(zhuǎn)換成False其他的都會(huì)轉(zhuǎn)換成True
總結(jié):所有為0為空的值都會(huì)轉(zhuǎn)換為false,其他的都為true
'''
print(bool('0.00'))#--->False
判斷一個(gè)字符串是否是空串(字符串長(zhǎng)度為0)
方法1:
str1=""
if str1=="":
print('空串')
else:
print('不是空串')
方法2:
if len(str1)==0:
print('空串')
else:
print('不是空串')
方法3:
if str1:
print('不是空串')
else:
print('空串')
#------>空串
判斷一個(gè)數(shù)是否是0
number=10
if number:
print('不是0')
else:
print("是0")#---->不是0
4.其他類型的數(shù)據(jù)轉(zhuǎn)換成字符串:str()
'''
不管什么類型的數(shù)都可以轉(zhuǎn)換成字符串
其他數(shù)據(jù)轉(zhuǎn)換成字符串的時(shí)候咕幻,就是直接在數(shù)據(jù)的外層加引號(hào)
'''
print(str(120))#--->"120"
三渔伯、for循環(huán)
需要重復(fù)執(zhí)行某個(gè)過程,就可以使用循環(huán)肄程。
python中的循環(huán)有for循環(huán)和while
for 循環(huán):
'''
for 變量名 in 序列 :
循環(huán)體
for :關(guān)鍵字
變量名:和聲明變量時(shí)的變量名要求是一樣的锣吼,功能是存儲(chǔ)值
in :關(guān)鍵字,在蓝厌。玄叠。。里的意思
序列:容器類型的數(shù)據(jù)拓提。字符串读恃、列表、字典代态、元組寺惫、集合等
循環(huán)體:會(huì)重復(fù)執(zhí)行的代碼塊
執(zhí)行過程:使用變量取序列中取數(shù)據(jù),一個(gè)一個(gè)取蹦疑,取到取完位置西雀。
每取一個(gè)值執(zhí)行一次循環(huán)體
'''
for char in 'abc':
print(char)
print('!')
--->a!
b!
c!
打印20次"abc"
2.range函數(shù)
'''range函數(shù)功能是產(chǎn)生指定范圍的數(shù)字序列。
一般用在for循環(huán)中歉摧,控制循環(huán)次數(shù)艇肴。或者產(chǎn)生索引值叁温。
range(n):產(chǎn)生 0 ~ n-1 的整數(shù)序列
range(m,n):產(chǎn)生m~n-1的整數(shù)序列
range(m,n,step):從m開始豆挽,每次加step產(chǎn)生下一個(gè)數(shù)字,直到n前面那一個(gè)為止券盅。
'''
range(10):產(chǎn)生數(shù)字0,1,2,3,4,5,6,7,8,9
for y in range(10):
print(y)
range(1,10):產(chǎn)生數(shù)字1,2,3,4,5,6,7,8,9
for x in range(1,10):
print(x)
range(1,10,2):產(chǎn)生數(shù)字1帮哈,3,5,7,9
for z in range(1,10,2):
print(z)
練習(xí):計(jì)算1+2+3+...+100
sum1=0 # 聲明一個(gè)變量來存和
for a in range(1,101):
sum1+=a
print(sum1)#---->5050
練習(xí):
計(jì)算123...10
sum2=1
for c in range(1,11):
sum2=c# sum2=sum2c
print(sum2)#---->3628800
計(jì)算246...10
sum3=1
for c1 in range(2,12,2):
sum3*=c1
print(sum3)#--->3840
只使用一個(gè)循環(huán):
mul1 = 1
mul2 = 1
for x in range(1,11):
mul1=x
if x %2==0:
mul2=x
print(mul1)#--->3628800
print(mul2)#--->3840
練習(xí)2:有一個(gè)字符串"abcdef",依次取出字符串中偶數(shù)位(下標(biāo)值是偶數(shù))上的字符。
方法一:
0~len-1
str1='abcdef'
循環(huán)取出字符串所有的偶數(shù)下標(biāo)
index=0,2,4
for index in range(0,len(str1),2):
print(str1[index]) # #--->a,c,e
方法二锰镀;
循環(huán)取出字符串中每個(gè)字符的下標(biāo)
for index in range(0,len(str1)):
#判斷下標(biāo)是否偶數(shù)
if index %2 ==0:
print(str1[index]) # #--->a,c,e
方法三:
index=0
for char in str1:
if index %2 ==0:
print(char)
index+=1 #--->a,c,e
四娘侍、while循環(huán)
while 循環(huán)
'''
while 條件語(yǔ)句:
循環(huán)體
while :關(guān)鍵字
條件語(yǔ)句:結(jié)果是True咖刃,或者是False
循環(huán)體:重復(fù)執(zhí)行的代碼段
執(zhí)行過程:判斷條件語(yǔ)句是否為True,如果為True就執(zhí)行循環(huán)體憾筏。執(zhí)行完循環(huán)體嚎杨,
再判斷條件語(yǔ)句是否為True,如果為True就執(zhí)行循環(huán)體氧腰。.....
直到條件語(yǔ)句的值為False枫浙,循環(huán)結(jié)束,直接執(zhí)行while循環(huán)后面的語(yǔ)句古拴。
注意:如果條件語(yǔ)句的結(jié)果一直都是True箩帚,就會(huì)造成死循環(huán)。
所以在循環(huán)體中要有讓循環(huán)可以結(jié)束的操作黄痪。
python 中沒有 do-while 循環(huán)紧帕。
'''
死循環(huán)
while True:
print('aaa')
循環(huán)只執(zhí)行一次
flag=True
while flag:
print('aaa')
flag=False #---->aaa
使用while循環(huán)計(jì)算1+2+3+...+100
number=1
sum1=0
while number<=100 :
print(number)
sum1+=number
number+=1
print(sum1)#--->5050
練習(xí):計(jì)算2+4+6+...+100
number=2
sum1=0
while number<=100:
print(number)
sum1+=number
number+=2
print(sum1) #--->2550
五、continue和break
'''
break和continue兩個(gè)關(guān)鍵字桅打,都是作用于循環(huán)當(dāng)中是嗜,用來結(jié)束循環(huán)的。
continue: 關(guān)鍵字挺尾,在循環(huán)體中遇到continue,就結(jié)束當(dāng)次循環(huán)烦周,直接進(jìn)入下次循環(huán)冈敛。
'''
for x in range(10):
print(x)
continue # 不執(zhí)行continue后面的語(yǔ)句稚失,直接讓x取下一個(gè)值
print('===')#--->0,1,2,3,4,5,6,7,8,9
for x in range(10):
if x %2:
continue
print(x)#---->0,2,4,6,8
'''
break:關(guān)鍵字伦忠,在循環(huán)中遇到break,就直接結(jié)束整個(gè)循環(huán)。直接執(zhí)行循環(huán)后邊的其他語(yǔ)句
'''
for x in range(10):
print(x)
break
print('====')
print('!!!') #--->!!!
通過改變條件語(yǔ)句的值來結(jié)束循環(huán):
number =1
while number<=100:
print(number)
number+=1
使用break結(jié)束死循環(huán):
number=1
while True:
if number>100:
break
print('==',number)
number+=1
練習(xí):找出100-1000以內(nèi)第一個(gè)能夠被3整除同時(shí)能被17整除的數(shù)掂僵。
for x in range(100,1001):
if x%3==0 and x%17==0:
print(x)
# 找到第一個(gè)就不再往下找了
break #--->102
六航厚、for和while的選擇以及循環(huán)嵌套
1.for和while的選擇
'''
for循環(huán)的循環(huán)次數(shù)是確定的顷歌,while循環(huán)的循環(huán)次數(shù)可以不確定锰蓬。
1.循環(huán)次數(shù)不確定的時(shí)候,選擇while循環(huán)眯漩。確定一般使用for循環(huán)
2.通過循環(huán)遍歷序列中的值芹扭,使用for循環(huán)
'''
2.input()
''' 接收從控制臺(tái)輸入的數(shù)據(jù)(輸入的數(shù)據(jù)以回車結(jié)束)
程序中遇到input()函數(shù),程序會(huì)阻塞赦抖,等待用戶輸入完成后舱卡,才會(huì)接著執(zhí)行后面的代碼
'''
使用value去保存控制臺(tái)輸入的數(shù)據(jù)
value=input()
3.產(chǎn)生隨機(jī)數(shù)
python中有一個(gè)內(nèi)置模塊,可以產(chǎn)生隨機(jī)數(shù):random
randint(m,n):產(chǎn)生一個(gè)0~n的隨機(jī)數(shù)(整數(shù))
導(dǎo)入random 模塊
import random
number=random.randint(0,10)
print(number)