歡迎加入QQ討論群258996829
麥子學(xué)院 頭像
蘋果6袋
6
麥子學(xué)院

python循環(huán)綜合運(yùn)用

發(fā)布時(shí)間:2018-05-14 17:01  回復(fù):0  查看:2446   最后回復(fù):2018-05-14 17:01  

本文和大家分享的主要是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),還是pythonlist的下標(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ò)

您還未登錄,請先登錄

熱門帖子

最新帖子

?