1.回顧
1.運(yùn)算符
數(shù)學(xué)運(yùn)算符甚侣、比較運(yùn)算符、邏輯運(yùn)算符柿冲,賦值運(yùn)算符
2.數(shù)字類(lèi)型
int,float,bool,complex
查看數(shù)據(jù)類(lèi)型:type(數(shù)據(jù))渗柿,判斷是否為指定類(lèi)型isinstance(數(shù)據(jù),類(lèi)型)
吧括號(hào)里面的數(shù)據(jù)轉(zhuǎn)換為指定類(lèi)型:類(lèi)型名(數(shù)據(jù))
3.分之結(jié)構(gòu):if
固定寫(xiě)法:
if 條件語(yǔ)句:
????語(yǔ)句塊
if-else:
固定寫(xiě)法:
if 條件語(yǔ)句:
???? 語(yǔ)句塊1
else:
????語(yǔ)句塊2
if-elif-else:
固定寫(xiě)法:
if 條件語(yǔ)句1:
???? 語(yǔ)句塊1
elif 條件語(yǔ)句2:
????語(yǔ)句塊2
elif 條件語(yǔ)句3:
????語(yǔ)句塊3
2.for循環(huán)和while循環(huán)
- python中的循環(huán)結(jié)構(gòu)有兩種:for循環(huán)矾芙,while循環(huán)
1.for循環(huán)
a.語(yǔ)法:
'''
for 變量 in 序列:
循環(huán)體
'''
b.說(shuō)明: - for - 關(guān)鍵字舍沙,固定
- 變量名 - 和聲明變量的時(shí)候的變量要求不一樣
- in - 關(guān)鍵字,固定寫(xiě)法
- 序列 - python中的序列有:字符串剔宪,列表拂铡,元祖。字典葱绒,集合感帅,renge,生成器和迭代器等
- : - 固定寫(xiě)法
- 循環(huán)體 - 和for保存一個(gè)縮進(jìn)的一條或者多條語(yǔ)句
c.執(zhí)行過(guò)程
當(dāng)程序執(zhí)行到for循環(huán)的時(shí)候:讓變量去序列中去取值地淀,一個(gè)個(gè)的去失球,取完為止,每取一個(gè)值帮毁,執(zhí)行一次循環(huán)體
for a in'abcdefg':
print(a,id(a))
print('=====')
2.range函數(shù)
range(N) - N是正整數(shù)实苞,N是0~N-1的所有整數(shù)
for num in range(10):
print(num)
range(M,N) - M,N都是整數(shù),并且N>M烈疚,產(chǎn)生M,N-1的所有整數(shù)
for num in range(100,1000):
print(num)
range(M,N,S) - M,N,S都是整數(shù)黔牵,產(chǎn)生M~N-1,每次加S來(lái)產(chǎn)生下一個(gè)數(shù)
1.while循環(huán)
- a.語(yǔ)法
'''
while 條件語(yǔ)句:
循環(huán)體
''' - b.說(shuō)明:
'''
while - 關(guān)鍵字,固定寫(xiě)法
條件語(yǔ)句 - 可以是數(shù)據(jù)爷肝、變量猾浦、運(yùn)算表達(dá)式等。不能是賦值運(yùn)算
: - 固定寫(xiě)法
循環(huán)體- 和while保存一個(gè)縮進(jìn)的一條或者多條語(yǔ)句(會(huì)被重復(fù)執(zhí)行)
''' - c.執(zhí)行過(guò)程:
'''
先判斷條件語(yǔ)句是否為T(mén)rue灯抛,為T(mén)rue就執(zhí)行一次循環(huán)體
執(zhí)行完循環(huán)體再判斷條件語(yǔ)句是否為T(mén)rue金赦,為T(mén)rue又執(zhí)行一次循環(huán)體
執(zhí)行完循環(huán)體再判斷條件語(yǔ)句是否為T(mén)rue,為T(mén)rue又執(zhí)行一次循環(huán)體
以此類(lèi)推对嚼,直到判斷條件語(yǔ)句結(jié)果為Flase夹抗,整個(gè)循環(huán)結(jié)束
兩個(gè)極端:1.當(dāng)條件語(yǔ)句永遠(yuǎn)為T(mén)rue,會(huì)造成死循環(huán)的現(xiàn)象
2.一開(kāi)始條件語(yǔ)句的結(jié)果就是Flase猪半,那么循環(huán)一都不會(huì)執(zhí)行
'''
練習(xí):用while循環(huán)控制程序打印10行’===‘
count = 0
while count < 4:
print('=====')
count += 1
'''
count = 0
count < 4 0<4 True print('=====') count = count + 1 = 0+1=1
count < 4 1<4 True print('=====') count = count + 1 = 1+1=2
count < 4 2<4 True print('=====') count = count + 1 = 2+1=3
count < 4 3<4 True print('=====') count = count + 1 = 3+1=4
count < 4 4<4 Flase print('=====') count = count + 1 = 0+1=1
print(count) print(4)
輸出:
=====
=====
=====
=====
4
'''
練習(xí):使用while循環(huán)打印0-10
count = 0
while count < 11:
print(count)
count += 1
練習(xí):使用while循環(huán)打印11-20
count = 11
while count < 21:
print(count)
count += 1
練習(xí):使用while循環(huán)打印2,4,6,8兔朦,偷线,,沽甥,40
count = 2
while count <= 40:
print(count)
count += 2
不斷輸入直到輸入是100的時(shí)候結(jié)束
result = 0 #保存輸入的結(jié)果
while result != 100:
result = int(input('請(qǐng)輸入數(shù)字:'))
print('結(jié)束')
2.補(bǔ)充:隨機(jī)數(shù)
- 導(dǎo)入random模塊声邦,random是Python內(nèi)置的一個(gè)專門(mén)用來(lái)產(chǎn)生和處理隨機(jī)數(shù)的模塊
randint(M,N) - 產(chǎn)生M~N的隨機(jī)數(shù),要求M摆舟,N都是整數(shù)亥曹,并且N>M
random.randint()
練習(xí) :猜數(shù)字游戲(統(tǒng)計(jì)玩家輸入了多少次,根據(jù)輸入次數(shù)給出評(píng)語(yǔ)恨诱。)
import random
print('===============游戲開(kāi)始===============')
num = random.randint(0,100)
num1 = int(input('請(qǐng)輸入數(shù)字(0-100):'))
# 次數(shù)
count = 1
while num1 != num:
#給出提示
if num1 > num:
print('大了媳瞪,在小點(diǎn)')
else:
print('小了,在大點(diǎn)')
#重新輸入
num1 = int(input('請(qǐng)輸入數(shù)字(0-100):'))
count += 1
print('恭喜你猜對(duì)了照宝!','數(shù)字為:',num)
if count > 7:
print('250!')
print('===============游戲結(jié)束===============')
3.for循環(huán)和while循環(huán)的選擇
a. 遍歷(一個(gè)一個(gè)的壬呤堋)序列元素用for循環(huán)
b.循環(huán)次數(shù)確定的時(shí)候用for循環(huán)
c.死循環(huán)和循環(huán)次數(shù)不確定的時(shí)候用while循環(huán)
1.continue
a.用法:continue是關(guān)鍵字,只能出現(xiàn)在循環(huán)體中
b.功能:執(zhí)行循環(huán)體的時(shí)候厕鹃,遇到continue兢仰,就直接結(jié)束當(dāng)次循環(huán),直接進(jìn)入下次循環(huán)的判斷
for x in range(10):
if x % 3 == 0:
continue
print(x)
print('====')
2.break
a.用法:break是關(guān)鍵字剂碴,只能出現(xiàn)在循環(huán)體中
b.功能:執(zhí)行循環(huán)體的時(shí)候把将,如果遇到break,整個(gè)循環(huán)直接結(jié)束
print('==================================')
for x in range(10):
print(x)
break
print('!!!!')
練習(xí):從0+1+2+3+........求看到的時(shí)候和超過(guò)1000000忆矛,求出這個(gè)數(shù)
num = 0
n = 1
while True:
num += n
if num > 1000000:
break
n += 1
print(n,num,num-n)
3.else
a.語(yǔ)法:
'''
for 變量 in 序列:
循環(huán)體
else:
語(yǔ)句塊
while 條件語(yǔ)句:
循環(huán)體
else:
語(yǔ)句塊
'''
b.執(zhí)行過(guò)程:如果循環(huán)自然死亡察蹲,else對(duì)應(yīng)的語(yǔ)句塊會(huì)執(zhí)行;如果遇到break兒結(jié)束催训,else對(duì)應(yīng)的語(yǔ)句塊不執(zhí)行
for x in range(5):
print(x)
break
else:
print('循環(huán)結(jié)束')
循環(huán)嵌套:在循環(huán)體重又有循環(huán)結(jié)構(gòu)
-
執(zhí)行過(guò)程:外循環(huán)執(zhí)行一次洽议,內(nèi)循環(huán)執(zhí)行完
for x in range(5):
for y in range(4):
print(x)
print(y)
'''
x = (0.1.2.3.4)
x = 0 y = (0.1.2.3)
y = 0 print(0), print(0)
y = 1 print(0), print(1)
y = 2 print(0), print(2)
y = 3 print(0), print(3)
x = 1
'''