一、while循环

1.while在给定的判断条件为True时执行循环体,否则退出循环体

1 flag = True
2 while flag:
3 print('正确')
4 flag = False # 条件真改为假

示例:计算1-100的偶数和

1 count = 1
2 sum_num = 0
3 while count <= 100:
4 if count % 2 == 0: # 去除奇数
5 sum_num += count # 将每一个偶数进行累加
6 count += 1 # 更改计数器 放到if外 每一个数都要累加
7 print(f'1-100的偶数和:{sum_num}') # 退出循环打印最后累加值

2.break终止循环

示例:打印1-10,打印到8时,停止打印

1 # 打印到8时 停止打印
2 count = 1
3 while count <= 10:
4 print(count)
5 if count == 8:
6 print('停止打印')
7 break
8 count += 1

3.continue跳出当前循环,进行下一次循环

示例:打印1-10,打印到4时,跳过

1 # 打印到4时 跳过4打印后面的
2 count = 0
3 while count < 10:
4 count += 1
5 if count == 4:
6 print('不打印4')
7 continue
8 print(count)

示例:九九乘法表

1 a = 1
2 while a <= 9:
3 b = 1
4 while b < a + 1:
5 print(f'{b}*{a}={b * a}', end='\t')
6 b += 1
7 print() # 换行
8 a += 1

运行:

4.while...else...

else是循环正常结束之后要执行的代码,如果是break终止循环的情况,else下面缩进的代码将不执行
continue只是跳过当前循环,继续下次循环,循环可以正常结束,else下面缩进的代码可移植性

示例:

 1 i = 1
2 while i <= 5:
3 if i == 3:
4 print('i==3时打印')
5 # break # 主动终止程序 不算循环正常执行结束
6 # i += 1
7 # continue
8 print('重复打印')
9 i += 1
10 else: # 循环正常执行结束时执行的代码
11 print('这是else部分')

二、for循环

1.语法

  • for循环可以遍历任何序列的项目,如一个列表或者字符串
  • for循环必须遍历可迭代对象,如a='123456789',tup=(1,2,3,4,5,6)等,int、float等不是可迭代对象
  • 语法规则:

  for 临时变量 in 待处理数据集:

    重复执行代码

示例:

1 li = [1, 2, 3, 4, 5, 6, 7, 8, 9]
2 for i in li:
3 print(i)

2.range()函数

for循环本质上是遍历“序列类型”,但是使用range语句,可以获得一个简单的数字序列

range()语法:

range(num1,num2,step)

num1:起始值,默认为0,可更改

num2:终止值,但不包括本身,[num1,num2) range()函数的范围是左闭右开、

step:步长,默认为1,可更改,数据类型必须为整型

示例:

1 for i in range(1, 10):
2 print(i / 10)

3.for循环中continue 和 break 的用法与while循环相似

示例:

1 li = ['马自达', '马自达', '马自达', '马自达', '马自达', '劳斯莱斯', '劳斯莱斯', '劳斯莱斯','劳斯莱斯']
2 for i in li:
3 if i == '劳斯莱斯':
4 print('碰见劳斯莱斯了')
5 # continue
6 break
7 print('正在刷马自达...')

与while循环略有不同,for循环一般是有限循环

示例1:求1-100的偶数和

1 sum_num = 0
2 for i in range(0, 101, 2):
3 sum_num += i
4 print(sum_num)

示例2:求5的阶乘

1 5 != 5 * 4 * 3 * 2 * 1
2 result = 1
3 for i in range(1, 6, 1):
4 result *= i
5 print(result)

示例3:九九乘法表

1 for i in range(1, 10, 1):
2 for j in range(1, 10, 1):
3 if j < i + 1:
4 print(f'{j}*{i}={j * i}', end='\t')
5 print()

最新文章

  1. SQL Server 执行计划缓存
  2. ButterKnife基本使用
  3. DataSet集合直接根据传入的类转List&lt;T&gt;集合
  4. iOS-----Xcode-Debug尝试
  5. for的冒泡排序练习题
  6. Android文本输入框(EditText)切换密码的显示与隐藏
  7. LINQ(LINQ to DataSet)
  8. ao的编辑操作
  9. IOS crash分析
  10. Java笔记(二十八)&hellip;&hellip;IO流下 IO包中其他常用类以及编码表问题
  11. java对像序列化
  12. 架构漫谈:UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别
  13. p1217晚餐(简单的dijkstra)
  14. python中的类
  15. .net基础学java系列(三)徘徊反思
  16. 理解java的三种代理模式
  17. 爬坑系列----Redis查询key报空指针异常,而redis中确实存在该key
  18. Javascript 函数声明、函数表达式与匿名函数自执行表达式
  19. 通过Eureka自带REST API强行剔除失效服务
  20. ArcGIS Portal与Adapter安装问题

热门文章

  1. Ubuntu18.04中用CMake-gui安装OpenCV3.2.0和OpenCV_contrib-3.2.0
  2. GoLang 的协程调度和 GMP 模型
  3. 解决.Net Core3.0 修改cshtml代码之后必须重新生成才可以看到效果
  4. CF873E - Awards For Contestants
  5. day06-动态SQL语句
  6. OpenLayers结合JSTS实现空间运算
  7. Matplotlib 实现画中画
  8. pytest框架增加log打印(包括pytest的执行结果、自定义的log信息)
  9. Oracle RAC单节点启停
  10. P1046 [NOIP2005 普及组] 陶陶摘苹果