本文和大家分享的主要是python循環(huán)的綜合使用相關(guān)內(nèi)容,一起來看看吧,希望對大家學(xué)習(xí)python有所幫助。
break語句,用在循環(huán)體中,迫使循環(huán)立即終止,即跳出所在循環(huán)體,繼續(xù)執(zhí)行循環(huán)體后面的語句。
sum=0
i=1while i:
sum+=i
i+=1
if i>=101:
breakprint(" the 1+2+..100={}".format(sum))
the 1+2+..100=5050
break 經(jīng)常和if語句使用,滿足條件跳出循環(huán)體,但是據(jù)大佬說,循環(huán)中不建議使用break語句,跳來跳出邏輯容易出現(xiàn)問題。就像被拋棄的goto
def maxys(m,n):
r=m%n
while r!=0:
m=n
n=r
r=m%n
return n
>>> maxys(33,11)11>>> maxys(6,5)
continue語句,與break語句不同,在循環(huán)中執(zhí)行continue語句,并不會(huì)退出循環(huán)語句,而是立即結(jié)束本次循環(huán),重新開始下一次循環(huán)
def printthreenum(n):
for i in range(1,n+1):
if i%3==0:
continue
print(" %d"%(i),end=" ")
>>> printthreenum(20)
1 2 4 5 7 8 10 11 13 14 16 17 19 20
循環(huán)嵌套,基本復(fù)雜點(diǎn)的code,都涉及到嵌套問題。
公約數(shù)的因子,求最大公約數(shù),暴力法解決
def maxys(m,n):
i=2
max=1
while i<=m and i<=n:
while m%i==0 and n%i==0:
max*=i
m=m//i
n=n//i
i+=1
return max
>>> maxys(8,2)2>>> maxys(13,2)1
采用減治法的選擇排序,算法
def sort(arr):
i=0
while i<len(arr)-1:
j=i+1
temp=arr[j]
flag=0
while j>0:
if arr[j-1]>temp:
arr[j]=arr[j-1]
j-=1
flag=1
else:
break
if flag:
arr[j]=temp
i+=1
return arr
arr=[66,1,-8,22,88]
sort(arr)
[-8, 1,22, 33, 66]
選擇排序法:每次選擇最小的元素。
def xzsort(arr):
i=0
while i<len(arr)-1:
min=arr[i]
j=i+1
#選擇[i,len(list)-1]中最小的元素
while j<len(arr):
if min>arr[j]:
min=arr[j]
j+=1
id=arr.index(min) #記錄要交換的元素下標(biāo)
#交換
if min!=arr[i]:
#temp=arr[i]
#arr[i]=min
#arr[id]=temp
arr[i],arr[id]=arr[id],arr[i]
i=i+1
return arr
arr=[66,-5,99,56,4,668,68]
xzsort(arr)
[-5, 4, 56, 66, 68, 99, 668]
我是c系,對python的思維還是欠缺,選擇排序,出現(xiàn)了不少小問題,無論是循環(huán)縮進(jìn),還是python的list的下標(biāo)獲取,以及交換。。。
乘法口訣表
for i in range(1,10):
for j in range(1,i+1):
print("{}*{}={}".format(j,i,i*j),end=" ")
print()
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=8
不說了,時(shí)間有限,循環(huán)嵌套,外加if語句,是編程的重點(diǎn)。
**不說了,循環(huán)嵌套真的很重要,多多體會(huì)被。
來源:網(wǎng)絡(luò)