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.hqwc.cn/news/511107.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

达梦、金仓、南大、瀚高、优炫:从社区建设看企业技术自信心

正文约950字&#xff0c;预计阅读时间2分钟 国产技术厂商在面对自身产品问题时&#xff0c;往往保持回避态度&#xff0c;不愿公之于众&#xff0c;主要原因有2方面&#xff1a; 1&#xff0c;产品技术层面问题较多&#xff0c;如某些根本性缺陷难以攻克&#xff0c;或问题发…

12-Java享元模式 ( Flyweight Pattern )

Java享元模式 摘要实现范例 享元模式&#xff08;Flyweight Pattern&#xff09;主要用于减少创建对象的数量&#xff0c;以减少内存占用和提高性能 享元模式尝试重用现有的同类对象&#xff0c;如果未找到匹配的对象&#xff0c;则创建新对象 享元模式属于结构型模式&…

Python字符串中%d,%.f的用法

在字符串中&#xff0c;我们经常需要改变其中的一些几个字符&#xff0c;比如 第一个d%就是epoch1&#xff0c;会随着epoch的变化而变化。同理&#xff0c;后面的也是。打印出的结果就是 其中&#xff0c;epoch迭代了3次&#xff0c;从0开始。会发现 d%&#xff0c;是整数&…

RabbitMQ(三):AMQP协议

目录 1 AMQP协议1.1 AMQP协议介绍1、AMQP是什么2、消息代理中间件的职责 1.2 AMQP 0-9-1模型1、AMQP的工作过程2、交换器和交换器类型3、队列队列属性队列名称队列持久化 1.3 几个概念1、绑定2、消费者3、消息确认4、预取消息5、消息属性和有效载荷&#xff08;消息主体&#x…

electron+vue3全家桶+vite项目搭建【29】封装窗口工具类【3】控制窗口定向移动

文章目录 引入实现效果思路声明通用的定位对象主进程模块渲染进程测试效果 引入 demo项目地址 窗口工具类系列文章&#xff1a; 封装窗口工具类【1】雏形 封装窗口工具类【2】窗口组&#xff0c;维护窗口关系 封装窗口工具类【3】控制窗口定向移动 很多时候&#xff0c;我们想…

Stream流(Java)

目录 一、介绍 二、Stream流的使用步骤 三、Stream流常见的中间方法 四、Stream流常见的终结方法 一、介绍 Stream也叫Stream流&#xff0c;是JDK8开始新增的一套API&#xff0c;可以用于操作集合或者数组的数据。 优势&#xff1a;Stream流大量的结合了Lambda的语法风格来…

基于springboot+vue的球队训练信息管理系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

基于STC12C5A60S2系列1T 8051单片机的TM1638键盘数码管模块的按键扫描、数码管显示按键值、显示按键LED应用

基于STC12C5A60S2系列1T 8051单片机的TM1638键盘数码管模块的按键扫描、数码管显示按键值、显示按键LED应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍TM1638键盘…

Jenkins设置使用163邮箱发送邮件

目录 一、下载需要的插件 二、开通163邮箱的SMTP服务 三、配置邮箱&#xff0c;测试发送 1、配置Jenkins Location 2、配置Extended E-mail Notification 扩展邮件通知 3、配置默认触发器&#xff08;可先不配置&#xff09; ​编辑 4、配置默认的邮件通知 5、测试邮箱…

华为---MSTP(一)---MSTP生成树协议

目录 1. MSTP技术产生背景 2. STP/RSTP的缺陷 ​编辑 2.1 无法均衡流量负载 2.2 数据使用次优路径 3. MSTP生成树协议 3.1 MSTP相关概念 3.2 MSTP树生成的形成过程 4. MSTP报文 1. MSTP技术产生背景 RSTP在STP基础上进行了改进&#xff0c;实现了网络拓扑快速收敛。但…

NLP_文本张量表示方法_2(代码示例)

目标 了解什么是文本张量表示及其作用.文本张量表示的几种方法及其实现. 1 文本张量表示 将一段文本使用张量进行表示&#xff0c;其中一般将词汇为表示成向量&#xff0c;称作词向量&#xff0c;再由各个词向量按顺序组成矩阵形成文本表示. ["人生", "该&q…

TCPDump 使用教程

每次服务器网络不通的时候&#xff0c;总会听到一个声音&#xff0c;你去抓包啊&#xff0c;那这里就来介绍下TCPDump&#xff0c;一款强大的网络分析工具&#xff0c;可以捕获网络上的数据包&#xff0c;并进行分析。这款工具在网络管理员和安全专家中非常受欢迎。 一、安装 …