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.mzph.cn/news/726245.shtml

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

相关文章

Java - Spring MVC 实现跨域资源 CORS 请求

据我所知道的是有三种方式&#xff1a;Tomcat 配置、拦截器设置响应头和使用 Spring MVC 4.2。 设置 Tomcat 这种方式就是引用别人封装好的两个 jar 包&#xff0c;配置一下web.xml就行了。我也并不推荐&#xff0c;这里放两个我在网上找到的配置相关文章&#xff0c;感兴趣可…

Netty架构

Netty逻辑架构 Netty 的逻辑处理架构为典型网络分层架构设计&#xff0c;网络通信层、事件调度层、服务编排层。 一、 网络通信层 网络通信层的职责是执行网络 I/O 的操作。它支持多种网络协议和 I/O 模型的连接操作。当网络数据读取到内核缓冲区后&#xff0c;会触发网络事件…

OSPF NSSA实验简述

OSPF NSSA实验简述 1、OSPF NSSA区域配置 为解决末端区域维护过大LSDB带来的问题&#xff0c;通过配置stub 区域或totally stub区域可以解决&#xff0c;但是他们都不能引入外部路由场景。 No so stuby area &#xff08;区域&#xff09;NSSA 可以引入外部路由&#xff0c;支持…

北斗卫星技术助力环卫车智能化改造

北斗卫星技术助力环卫车智能化改造 在现代城市环境中&#xff0c;环卫工作一直是一项重要的公共服务&#xff0c;而环卫车则是环卫工作的重要工具之一。随着科技的不断发展和进步&#xff0c;北斗卫星技术的应用逐渐走进了人们的视野&#xff0c;为环卫车的智能化改造提供了全…

2024年【道路运输企业安全生产管理人员】复审考试及道路运输企业安全生产管理人员模拟考试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年道路运输企业安全生产管理人员复审考试为正在备考道路运输企业安全生产管理人员操作证的学员准备的理论考试专题&#xff0c;每个月更新的道路运输企业安全生产管理人员模拟考试题祝您顺利通过道路运输企业安全…

脉宽调制PWM控制器有哪些国产替代可选择?

一、脉宽调制PWM简介 PWM的理论基础为面积等效原理&#xff0c;这个原理简单描述就是冲量相等&#xff08;信号对时间的积分&#xff0c;即面积&#xff09;而形状不同的窄脉冲加在具有惯性的环节上时&#xff0c;其效果基本相同。冲量相等而形状不同的窄脉冲加在具有惯性的环…

虾皮、lazada店铺运营攻略,如何搭建高效、稳定的自养号测评系统

随着电子商务的蓬勃发展&#xff0c;越来越多的人选择在虾皮这样的电商平台上开设店铺&#xff0c;以实现创业梦想。但如何在众多店铺中脱颖而出&#xff0c;成为消费者的首选?本文将为您详细解答“怎么样做好虾皮店铺”&#xff0c;并提供一些实用的运营建议。 一、怎么样做…

【文献计量】安装endnote注意事项

1.前言 EndNote 是一款广受学者、研究人员、学生和图书管理员等使用的参考管理软件。它由 Clarivate Analytics 开发&#xff0c;用于管理文献引用和编排参考文献列表。EndNote 可以帮助用户在撰写科研论文、书籍或任何学术出版物时&#xff0c;高效地组织、管理和引用研究资料…

C++ 有边数限制的最短路 Bellman_ford算法(带负权边)

给定一个 n 个点 m 条边的有向图&#xff0c;图中可能存在重边和自环&#xff0c; 边权可能为负数。 请你求出从 1 号点到 n 号点的最多经过 k 条边的最短距离&#xff0c;如果无法从 1 号点走到 n 号点&#xff0c;输出 impossible。 注意&#xff1a;图中可能 存在负权回路…

第3部分 原理篇3可验证凭证(VC)(1)

3.3. 可验证凭证 3.3.1. 本节内容概述 本聪老师&#xff1a;今天开始去中心化身份中另一个最重要的概念可验证凭证&#xff08;verifiable credential&#xff09;的学习。凭证&#xff0c;也就是证件&#xff0c;在人类生活中不可或缺。可验证凭证实现了凭证的机器可读、加密…

Vmware创建共享文件夹

具体设置步骤如下&#xff1a; 打开 “设置 -> 选项 -> 共享文件夹” 点击 “选项 -> 共享文件夹 ->选择总是开启 ->添加” 添加共享文件夹 选择主机路径和设置名称 选择启用此共享&#xff0c;并且点击完成退出。 挂载操作 在root用户下执行具体命令如下&…

mysql 时间精度问题

timestamp到2038年&#xff0c;还有14年时间&#xff0c;一个系统如果能活到那一刻也是相当不错了。 这里先看一下个datetime的问题,下面的插入数据的时间戳是2024-03-06 21:20:50.839 INSERT INTO psi_io_balance ( id, as_id, bill_date, order_id, busi_type, direction, c…

安卓简单登录

注意 有的朋友不知道登录咋写&#xff0c;这里我就简单给出相应代码&#xff0c;用的本地存储&#xff0c;没用网络请求&#xff0c;有需要可以替换成想要的&#xff0c;废话不多上代码 登录 import androidx.appcompat.app.AppCompatActivity;import android.content.Context…

JVM入门篇(面试前速补)

近期看看JVM&#xff0c;看了狂神说入门教学&#xff0c;总结下给大家。 文章目录 1、JVM的位置2、JVM的结构体系3、类加载器及双亲委派机制3.1、类加载器作用3.2、类加载器类型3.3、双亲委派机制 * 4、沙箱安全机制5、Native、方法区5.1、Native&#xff08;本地方法栈引用&a…

【SQL】1068. 产品销售分析 I

题目描述 leetcode题目&#xff1a;1068. 产品销售分析 I 写法 select Product.product_name, Sales.year, Sales.price from Sales left join Product on Sales.product_id Product.product_id记录细节&#xff1a;加上表名检索效率更高。 -- ERROR: 时间超出限制 > 加…

181基于matlab的利用LMS算法、格型LMS算法、RLS算法、LSL算法来估计线性预测模型参数a1和a2

基于matlab的利用LMS算法、格型LMS算法、RLS算法、LSL算法来估计线性预测模型参数a1和a2&#xff1b;预测信号由二阶线性预测模型产生。2.利用LMS算法和RLS算法将一个叠加有噪声的信号实现噪声消除&#xff0c;恢复原始信号。有22页试验分析文档。&#xff08;包括程序在内&…

华为OD机试 - 疫情扩散时间计算 - 矩阵(Java 2024 C卷 200分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2024C卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷C卷&am…

解决 Python 脚本无法生成结果的问题

我们在python编程时&#xff0c;始终无法生成想要的成果&#xff0c;其实问题并非单一的&#xff0c;可能有多种情况导致的结果&#xff1b;例如&#xff1a;语法错误、运行时错误、依赖项问题、权限问题、死锁或阻塞等问题&#xff0c;下面我将举例说明遇到这些问题该如何解决…

Python 爬虫快速入门

1. 背景 最近在工作中有需要使用到爬虫的地方&#xff0c;需要根据 Gitlab Python 实现一套定时爬取数据的工具&#xff0c;所以借此机会&#xff0c;针对 Python 爬虫方面的知识进行了学习&#xff0c;也算 Python 爬虫入门了。 需要了解的知识点&#xff1a; Python 基础语…

Java多线程——对象的原子更新

目录 引出对象原子更新AtomicReferenceAtomicLongFieldUpdaterABA问题 Redis冲冲冲——缓存三兄弟&#xff1a;缓存击穿、穿透、雪崩缓存击穿缓存穿透缓存雪崩 总结 引出 Java多线程——对象的原子更新 对象原子更新 AtomicReference package cn.test3; import lombok.AllAr…