Python中的循環(huán)結構有for循環(huán)和while循環(huán)
當某個字符操作或者某段代碼需要重復執(zhí)行時泻轰,就需要用到循環(huán)結構技肩;
一、
1浮声、for循環(huán)結構
語法:
for 變量 in 序列:
》》循環(huán)體
說明:
for ————關鍵字虚婿,固定寫法
變量————變量名,按照變量名要求命名
in ————關鍵字泳挥,寫法固定
序列————要求是一個值然痊,而且必須是一個序列(容器),比如:字符串屉符、列表剧浸、字典、集合矗钟、元祖唆香、迭代器、范圍(range)
循環(huán)體————和for保持一個縮進的代碼段吨艇,循環(huán)體會被重復執(zhí)行
執(zhí)行過程————讓變量去序列里取值躬它,一個一個的取,取完為止东涡。每取一個值冯吓,執(zhí)行一次循環(huán)體
練習:獲取字符串'a78and71-2cd'
num=0
for nu in 'a78and71-2cd':
if nu.isdigit():
num+=1 #num=num+1
print(num)
2、range函數
range(n):產生一個0~n-1范圍的對應整數序列
xrange是Python2.x的產物
for x in range(10):
print(x) #0疮跑、1组贺、2、3祖娘、4失尖、5、6、7雹仿、8增热、9即循環(huán)10次;
range(m,n):產生一個m~n-1范圍的對應整數序列
for x in range(10,20):
print(x) #10、11胧辽、12峻仇、13、14邑商、15摄咆、16、17人断、18吭从、19
range(m,n,z):在m~n-1中產生一個間隔為z(等差為z)的對應整數序列
for x in range(1,10,3):
print(x) #1、4恶迈、7
練習:計算從1+2+3+4.......+100
num=0
for x in range(1,101):
num+=x
print(num)
練習:打印5行666666
for x in range(5):
print(666666)
666666
666666
666666
666666
666666
注意:變量x的循環(huán)結果不一定會被使用涩金,比如我們只是單純的想利用其循環(huán)的次數重復某個循環(huán)體
二、
1暇仲、while循環(huán)結構
語法:
while 條件語句:
循環(huán)體
while :
pass
說明:
while————關鍵字
條件語句————和if后面的條件語句一樣步做,可以是任何有值的表達式(不能是賦值語句)
:————固定寫法
循環(huán)體————重復執(zhí)行的代碼段,循環(huán)體和while要保持一個縮進
執(zhí)行過程————判斷條件語句的結果是否為True奈附,為True執(zhí)行循環(huán)體全度。執(zhí)行完循環(huán)體,再判斷條件語句是否為True斥滤,為True再執(zhí)行循環(huán)體将鸵。 以此類推,直到判斷條件語句為False佑颇,停止執(zhí)行循環(huán)體顶掉。
注意:while True ————死循環(huán);
練習:求 10漩符!=1* 2* 3.......* 10
num=1;n=1
while num<10 :
num+=1
n*=num
print(n)
練習:用while循環(huán)獲取字符"hello python"中的每個字符
n=0
str='hello python'
while n<len(str):
print(str[n])
n+=1
三一喘、for和while循環(huán)的選擇
1驱还、如果是不斷的獲取序列中的元素嗜暴,直接使用for循環(huán)
2、如果循環(huán)次數確定议蟆,最好也使用for循環(huán)
3闷沥、死循環(huán)和循環(huán)次數不確定的時候最好使用while
練習 :隨機產生一個0~100的數字,不斷的輸入數字咐容,直到輸入的數字和產生的隨機數字相同為止舆逃,
如果猜錯,提示大了或者小了;
import random
#產生一個隨機數
number = random.randint(0, 100)
#返回從鍵盤接收到的數據(輸入的時候以回車結束),返回的數據類型是字符串
in_num = input('請輸入一個整數:')
in_num = int(in_num)
while in_num != number:
if in_num > number:
print('太大了路狮,再小點')
else:
print('太小了虫啥,再大點')
in_num = input('請輸入一個整數:')
in_num = int(in_num)
print('恭喜你!猜對了:', number)
四奄妨、
1涂籽、continue
只能寫在循環(huán)體中,遇到continue就結束當次循環(huán)砸抛,直接進行下次循環(huán)的判斷
下次循環(huán)的判斷:for循環(huán)————讓變量取下一個值评雌,while循環(huán)————判斷條件是否為True
練習:計算1~100非奇數的和
sum=0
for x in range(1,101):
if x%2==1:
continue
sum+=x
print(sum)
2、break
只能寫在循環(huán)體中直焙,只要在循環(huán)語句中遇到break景东,整個循環(huán)直接結束。直接執(zhí)行循環(huán)后面其他語句
3奔誓、else
for 變量 in 序列:
》》循環(huán)體
else:
》》代碼塊
=============
while 條件語句:
》》循環(huán)體
else:
》》代碼塊
循環(huán)自然結束后斤吐,執(zhí)行else后面的代碼。如果循環(huán)是遇到break結束厨喂,else后面的代碼塊就不會執(zhí)行曲初。
for x in range(1,10):
if x==5:
continue
print(x) #1、2杯聚、3臼婆、4、6幌绍、7颁褂、8、9傀广、10(缺5)
else:
print("========") #此行代碼會執(zhí)行
==========
for x in range(1,10):
if x==5:
break
print(x) #1颁独、2、3伪冰、4
else:
print("========") #此行代碼不會執(zhí)行