当前位置: 首页 > news >正文

Python 语句(二)【循环语句】

循环语句允许执行一个语句或语句组多次,其程序流程图如下:

在这里插入图片描述

在python中有三种循环方式:

  1. while 循环 当判断条件为 true 时执行循环体,否则退出循环体。
  2. for 循环 重复执行语句
  3. 嵌套循环 (在while循环体中嵌套for循环)

Python三种循环控制语句:(循环控制语句可以更改语句执行的顺序。)

  1. break 语句 在执行过程中终止循环,并跳出整个循环 。
  2. continue 语句 在块执行过程中终止当前循环,跳出该次循环,执行下一次循环。
  3. pass 语句 是空语句,是为了保持程序结构的完整性。

一、while循环

判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。
当判断条件假 false 时,循环结束。

1 基础应用

其基本形式为:while 判断条件(condition):执行语句(statements)……
a=1
while a<=10:print(a)a+=1

在这里插入图片描述

2 while 与 continue,break,else 连用。

continue 用于跳过该次循环。
break 则是用于退出循环。
两者对比如下:

i = 1
while i < 10:i += 1if i % 3 > 0:  # 非3的倍数时跳过输出continueprint(i) # 输出3的倍数

在这里插入图片描述

i = 1
while i < 10:i += 1if i % 3 > 0:  # 非3的倍数时跳过改循环breakprint(i) # 输出3的倍数

在这里插入图片描述

while … else,else 中的语句会在循环正常执行完(即 while不是通过 break 跳出而中断的)的情况下执行

number = 0
while number < 10:print (number, " is  less than 10")number = number + 3
else:print (number, " is not less than 5")

在这里插入图片描述

3 无限循环(常值循环)

"判断条件"为常值,表示循环一定成立,若没有break或continue,将一直循环下去。

while  1:  # 该条件永远为true,循环将无限执行下去num = input("Enter a number  :")print( "You entered: ", num)

在这里插入图片描述

while  1:  # 该条件永远为true,循环将无限执行下去num = input("Enter a number  :")print( "You entered: ", num)break

在这里插入图片描述

二、For 循环

for循环可以遍历任何序列的项目,如一个列表或者一个字符串。

1 基础用法

 for iterating_var in sequence:statements(s)
for str in 'happy':  # 第一个实例print("str: %s" % str)names = ['lucy', 'lily', 'Jack']
for name in names:  # 第二个实例print('name: %s' % name)print("Good bye!")

在这里插入图片描述

2 通过序列索引进行遍历

names = ['lucy', 'lily', 'Jack']
for index in range(len(names)):print('name: %s' % names[index])print("Good bye!")

在这里插入图片描述

内置函数 len() 和 range(),函数 len() 返回列表的长度,即元素的个数。
range()返回一个序列的数。
index() :用来对列表做索引的函数。

str1="this is string example ...wow!"
str2="exam"
print(str1.index(str2))

在这里插入图片描述

3 for与else连用

for num in range(1,10):  # 迭代 10 到 20 (不包含) 之间的数字for i in range(2,num): # 根据因子迭代if num%i == 0:      # 确定第一个因子j=num/i          # 计算第二个因子print ('%d 等于 %d * %d' % (num,i,j))break            # 跳出当前循环else:                  # 循环的 else 部分print ('%d 是一个质数' % num)

在这里插入图片描述

三、嵌套循环

顾名思义就是在一个循环体里面嵌入另一个循环。
在while循环中可以嵌入for循环, 反之,你可以在for循环中嵌入while循环

1、for 嵌套

格式如下:

for iterating_var in sequence:for iterating_var in sequence:statements(s)statements(s)

使用for 循环实现:获取100以内的质数

num=[];
i=2
for i in range(2,100):j=2for j in range(2,i):if(i%j==0):breakelse:num.append(i)
print(num)

结果如下:
在这里插入图片描述

2、while嵌套

格式如下:

while expression:while expression:statement(s)statement(s)

使用了while嵌套循环输出2~100之间的素数。示例如下:

i = 2
while (i < 100):j = 2while (j <= (i / j)):  #非素数跑这里if not (i % j): # i % j 为false 跳出breakj = j + 1if (j > i / j):  #素数跑到这个print(i, " 是素数")i = i + 1print("Good bye!")

结果如下:
在这里插入图片描述

3、for和while循环嵌套

格式如下:(这种结构可以用来解决一些需要逐行或者逐个元素进行操作的问题)

for item in iterable:while condition:#执行操作

逐行读取字符串,示例如下

with open('data.txt','r')as file:#使用相对路径 打开文件for line in file:line=line.strip() #strip:用于移除字符串头尾指定的字符(默认为空格)或字符序列。注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。while line:#处理每一行的内容print(line)line = line[1:] #去除第一个字符with open("data.txt", "r") as file:  #使用绝对路径 开文件data = file.read()  #读取文件print(data)

结果如下:
在这里插入图片描述

注意:data.txt要与.py文件放在同一目录下。

http://www.lryc.cn/news/312593.html

相关文章:

  • (3)(3.3) MAVLink高延迟协议
  • 【异常处理】Vue报错 Component template should contain exactly one root element.
  • Eth-trunk隧道
  • 【Ubuntu】将多个python文件打包为.so文件
  • FreeRtos自学笔记3-----参考正点原子视频
  • 使用J-Link Commander通过J-LINK以命令的形式来访问ARM通用MCU
  • 19.删除链表的倒数第N个节点
  • 【Linux C | 网络编程】广播概念、UDP实现广播的C语言例子
  • java 面向对象 day3
  • Flink 大数据 学习详情
  • [项目设计] 从零实现的高并发内存池(四)
  • 02.URL的基本知识和使用
  • 人工智能指数报告2023
  • Android如何对应用进行系统签名
  • 【系统安全加固】Centos 设置禁用密码并打开密钥登录
  • 关于我在项目中封装的一些自定义指令
  • react经验11:访问循环渲染的子组件内容
  • Java开发工程师面试题(业务功能)
  • BUUCTF-Misc-百里挑一
  • 【力扣刷题练习】42. 接雨水
  • 鸿蒙实战开发:数据交互【RPC连接】
  • QLC SSD:LDPC纠错算法的优化方案
  • 【Flutter 面试题】main()和runApp()函数在Flutter的作用分别是什么?有什么关系吗?
  • ChatGPT高效提问——说明提示技巧
  • 从零学算法41
  • FPGA高端项目:FPGA基于GS2971的SDI视频接收+OSD动态字符叠加,提供1套工程源码和技术支持
  • UML-类图详解
  • Python 快速获取PDF文件的页数
  • uniapp开发小程序使用x-www-form-urlencoded; charset=UTF-8 编码格式请求案例
  • 酷开科技服务升级,酷开系统给消费者更好的使用体验!