1.運算符
數(shù)學(xué)運算符刹帕、比較運算符(>,<,==, !=, >=, <=)嗡贺、邏輯運算符(and, or, not)忱叭、賦值運算符(=, +=, -=, *=,/= ...)
運算順序:
2.數(shù)字類型
int, float, bool, complex(復(fù)數(shù))
type(數(shù)據(jù)), isinstance(數(shù)據(jù),類型), 類型名(數(shù)據(jù))
3.分之結(jié)構(gòu): if
"""
if 條件語句:
語句塊
if 條件語句:
語句塊1
else:
語句塊2
if 條件語句1:
語句塊1
elif 條件語句2:
語句塊2
elif 條件語句3:
語句塊3
else:
語句塊4
"""
python中的循環(huán)結(jié)構(gòu)有兩種: for循環(huán)、while循環(huán)
1.for循環(huán)
a.語法
for 變量名 in 序列:
循環(huán)體
b.說明
for - 關(guān)鍵字梢卸,固定寫法
變量名 - 和聲明變量的時候的變量名要求一樣
in - 關(guān)鍵字累魔,固定寫法
序列 - python中序列有: 字符串摔笤、列表、元祖垦写、字典吕世、集合、range梯投、生成器和迭代器等
: - 固定寫法
循環(huán)體 - 和for保持一個縮進(jìn)的一條或者多條語句
c.執(zhí)行過程
當(dāng)程序執(zhí)行到for循環(huán)的時候:讓變量去序列中取值寞冯,一個一個的取渴析,取完為止。每取一個值吮龄,執(zhí)行一次循環(huán)體俭茧。
2.range函數(shù)
range(N) - N是正整數(shù),產(chǎ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來產(chǎn)生下一個數(shù)
for num in range(0,101,3):
print('===:',num)
注意:xrange是python2.x的語法,python3.x無效
while循環(huán)
a.語法
"""
while 條件語句:
循環(huán)體
"""
b.說明:
while - 關(guān)鍵字尝抖,固定寫法
條件語句 - 可以是數(shù)據(jù)毡们、變量、運算表達(dá)式等昧辽。不能是賦值運算
: - 固定寫法
循環(huán)體 - 和while保持一個縮進(jìn)的一條或者多條語句(會被重復(fù)執(zhí)行)
c.執(zhí)行過程:
先判斷條件語句是否為True,為True就執(zhí)行一次循環(huán)體衙熔,
執(zhí)行完循環(huán)體再判斷條件語句是否為True,為True又執(zhí)行一次循環(huán)體,
執(zhí)行完循環(huán)體再判斷條件語句是否為True搅荞,為True又執(zhí)行一次循環(huán)體,
以此類推红氯, 直到判斷條件語句的結(jié)果為False,整個循環(huán)直接結(jié)束。
兩個極端: 1.當(dāng)條件語句永遠(yuǎn)為True咕痛,會造成死循環(huán)的現(xiàn)象
2.一開始條件語句的結(jié)果就是False,那么循環(huán)一次都不會執(zhí)行
補充:隨機(jī)數(shù)
導(dǎo)入random模塊痢甘,random是python內(nèi)置的一個專門用來產(chǎn)生和處理隨機(jī)數(shù)的模塊
randint(M,N) - 產(chǎn)生M~N的隨機(jī)數(shù),要求M茉贡,N都是整數(shù)塞栅,并且N>M
import random
random_num = random.randint(0,10)
print('隨機(jī)數(shù):',random_num)
練習(xí): 猜數(shù)字游戲
產(chǎn)生一個0-100的隨機(jī)數(shù),然后不斷輸入數(shù)字腔丧,直到輸入的數(shù)字和產(chǎn)生的隨機(jī)數(shù)一致為止放椰。如果輸入的數(shù)字和隨機(jī)數(shù)不相等,給出偏大或者偏小的提示 愉粤。增加功能: 統(tǒng)計玩家猜對數(shù)字猜了多少次砾医,然后根據(jù)次數(shù)范圍給出相應(yīng)的評價!
print('=================游戲開始===================')
# 產(chǎn)生隨機(jī)數(shù)
random_num = random.randint(0, 100)
# 輸入的數(shù)字
num = int(input('請輸入數(shù)字(0-100):'))
# 次數(shù)
count = 1
while num != random_num:
# 給出提示
if num > random_num:
print('大了,再小點兒!')
else:
print('小了,再大點兒!')
# 重新輸入
num = int(input('請輸入數(shù)字(0-100):'))
count += 1
print('恭喜你猜對了!', random_num)
if count > 7:
print('250科汗!')
print('================游戲結(jié)束===================')
for循環(huán)和while循環(huán)的選擇
a.遍歷(一個一個的取)序列元素用for循環(huán)
b.循環(huán)次數(shù)確定的時候用for循環(huán)
c.死循環(huán)和循環(huán)次數(shù)不確定的時候用while循環(huán)
continue
用法: continue是關(guān)鍵字,只能出現(xiàn)在循環(huán)體中
功能: 執(zhí)行循環(huán)體的時候绷雏,如果遇到continue,就直接結(jié)束當(dāng)次循環(huán)头滔,直接進(jìn)入下次循環(huán)的判斷
for x in range(10):
if x % 3 == 0:
continue
print(x)
print('=====')
break
用法: break是關(guān)鍵字,只能出現(xiàn)在循環(huán)體
功能: 執(zhí)行循環(huán)體的時候涎显,如果遇到break坤检,整個循環(huán)直接結(jié)束
else
a.語法:
for 變量 in 序列:
循環(huán)體
else:
語句塊
while 條件語句:
循環(huán)體
else:
語句塊
b.執(zhí)行過程:如果循環(huán)自然死亡,else對應(yīng)的語句塊會執(zhí)行期吓;如果循環(huán)因為遇到break而結(jié)束早歇,else對應(yīng)的語句塊不執(zhí)行
循環(huán)嵌套:在循環(huán)體中又有循環(huán)結(jié)構(gòu)
執(zhí)行過程:外循環(huán)執(zhí)行一次,內(nèi)循環(huán)執(zhí)行完
for x in range(5):
for y in range(4):
print(x)
print(y)
if (x == 1):
break
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 y=(0,1,2,3)