循环很重要,计算机很蠢,唯一的优势就是按照指令不停的执行,所以决定在说一下。

break语句,用在循环体中,迫使循环立即终止,即跳出所在循环体,继续执行循环体后面的语句。

sum=0
i=1
while i:
sum+=i
i+=1
if i>=101:
break
print(" the 1+2+..100={}".format(sum))
 the 1+2+..100=5050

break 经常和if语句使用,满足条件跳出循环体,但是据大佬说,循环中不建议使用break语句,跳来跳出逻辑容易出现问题。就像被抛弃的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语句不同,在循环中执行continue语句,并不会退出循环语句,而是立即结束本次循环,重新开始下一次循环

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

循环嵌套,基本复杂点的code,都涉及到嵌套问题。

公约数的因子,求最大公约数,暴力法解决

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) #记录要交换的元素下标
#交换
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的思维还是欠缺,选择排序,出现了不少小问题,无论是循环缩进,还是python的list的下标获取,以及交换。。。

乘法口诀表

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

不说了,时间有限,循环嵌套,外加if语句,是编程的重点。

不说了,循环嵌套真的很重要,多多体会了。厦门叉车出租服务公司

最新文章

  1. STM32之DMA+ADC
  2. PHP之时间处理
  3. Deepin 15.3 编译同步SudaMod 2.0
  4. bzoj1553: XOR网络
  5. WCF配置
  6. html5 离线存储 worker
  7. 主要从架构上来做优化,负载均衡、CDN、静态化、数据库的水平切割和纵向切割、读写分离、分布式缓存着手
  8. Android SwipeRefreshLayout
  9. Android5.1源码Xposed框架编译
  10. aspnet5安装ef7备忘
  11. switch处理多分支结构
  12. android动画介绍之 自己定义Animation动画实现qq抖一抖效果
  13. Hybris 项目工程配置
  14. java请求参数转换
  15. Kde桌面的Mac化
  16. flex弹性盒子布局
  17. Js分支结构 switch--case
  18. Processing an OS Descriptor request -- Remote Desktop Protocol
  19. spark LinearRegression 预测缺失字段的值
  20. spring boot 使用@ConfigurationProperties

热门文章

  1. [整理记录备忘] CentOS 7 相关记录
  2. Spring源码分析(六)解析和注册BeanDefinitions
  3. SQLite加密方式 [转]
  4. 【Potplayer】视频播放器
  5. Ext4文件系统架构分析(二)
  6. weex中UISegmentControl实现及遇到的问题
  7. 异步fifo with 读控制
  8. bzoj1294 [SCOI2009]围豆豆
  9. PyQt5在QWidget窗体中显示Qwidget的自定义类(补:完美解决)
  10. 1797: [Ahoi2009]Mincut 最小割