当前位置: 首页 > 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文件放在同一目录下。

相关文章:

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

循环语句允许执行一个语句或语句组多次&#xff0c;其程序流程图如下&#xff1a; 在python中有三种循环方式&#xff1a; while 循环 当判断条件为 true 时执行循环体&#xff0c;否则退出循环体。for 循环 重复执行语句嵌套循环 &#xff08;在while循环体中嵌套for循环&…...

(3)(3.3) MAVLink高延迟协议

文章目录 前言 1 配置 2 说明 3 消息说明 前言 ArduPilot 支持 MAVLink 高延迟协议(MAVLink High Latency)。该协议专为卫星或 LoRA 等低带宽或高成本链路而设计。 在此协议中&#xff0c;每 5s 只发送一次 HIGH_LATENCY2 MAVLink 信息。对 MAVLink 命令或请求&#xff08…...

【异常处理】Vue报错 Component template should contain exactly one root element.

问题描述 启动VUE项目后控制台报错&#xff1a; Component template should contain exactly one root element. If you are using v-if on multiple elements, use v-else-if to chain them instead.翻译为&#xff1a;组件模板应该只包含一个根元素 查看vue代码&#xff0…...

Eth-trunk隧道

目录 Eth-trunk (划为二层) 二层trunk 三层交换机 网关冗余 Eth-trunk (划为二层) 一,...

【Ubuntu】将多个python文件打包为.so文件

1.为什么要将python打包为.so文件&#xff1f; 保护源码 2.实战例子 a.安装相应的包 pip install cython 验证安装是否成功 cython --version b.实战的文件目录和内容 hi.py # This is a sample Python script.# Press ShiftF10 to execute it or replace it with your…...

FreeRtos自学笔记3-----参考正点原子视频

FreeRtos任务的创建与删除 任务的创建与删除本质上是调用FreeRtos的API函数。 API函数&#xff1a; 1.xTaskGreate():动态创建任务函数&#xff1b; 2.xTaskGreateStatic();静态创建任务函数&#xff1b; 3.xTaskDelete():任务删除 动态创建任务&#xff1a;任务的任务控制块以…...

使用J-Link Commander通过J-LINK以命令的形式来访问ARM通用MCU

通常我们的操作是写好程序然后将程序下载到芯片里面&#xff0c;然后运行程序来进行相应的操作&#xff0c;其实还可以使用 J − L i n k C o m m a n d e r J-Link\quad Commander J−LinkCommander通过 J − L I N K J-LINK J−LINK以命令的形式来简单访问ARM通用MCU&#xf…...

19.删除链表的倒数第N个节点

19.删除链表的倒数第N个节点 力扣题目链接(opens new window) 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 进阶&#xff1a;你能尝试使用一趟扫描实现吗&#xff1f; 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], n…...

【Linux C | 网络编程】广播概念、UDP实现广播的C语言例子

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…...

java 面向对象 day3

这里写目录标题 1、 内部类1.1 成员内部类 静态内部类1.2 局部内部类1.3 匿名内部类[重点] 2、枚举2.1 使用枚举类 设计单例模式2.2 小实例 3、泛型3.1 认识泛型3.2 泛型类3.3 泛型接口3.4 泛型方法3.5 注意事项 1、 内部类 内部类 就是定义在一个类中的类 1.1 成员内部类 静…...

Flink 大数据 学习详情

参考视频&#xff1a; 尚硅谷大数据Flink1.17实战教程从入门到精通_哔哩哔哩_bilibili 核心目标&#xff1a; 数据流上的有状态的计算 具体说明&#xff1a; Apache Flink是一个 框架 和 分布式处理引擎&#xff0c;用于对 无界&#xff08;eg&#xff1a;kafka&#xff09; 和…...

[项目设计] 从零实现的高并发内存池(四)

&#x1f308; 博客个人主页&#xff1a;Chris在Coding &#x1f3a5; 本文所属专栏&#xff1a;[高并发内存池] ❤️ 前置学习专栏&#xff1a;[Linux学习] ⏰ 我们仍在旅途 ​ 目录 6.内存回收 6.1 ThreadCache回收内存 6.2 CentralCache回收内存 Rele…...

02.URL的基本知识和使用

一.认识 URL 1. 为什么要认识 URL ? 虽然是后端给我的一个地址&#xff0c;但是哪部分标记的是服务器电脑&#xff0c;哪部分标记的是资源呢&#xff1f;所以为了和服务器有效沟通我们要认识一下 2. 什么是 URL &#xff1f; 统一资源定位符&#xff0c;简称网址&#xff…...

人工智能指数报告2023

人工智能指数报告2023 主要要点第 1 章 研究与开发第 2 章 技术性能第 3 章 人工智能技术伦理第 4 章 经济第 5 章 教育第 6 章 政策与治理第 7 章 多样性第 8 章 舆论 人工智能指数是斯坦福大学以人为本的人工智能研究所&#xff08;HAI&#xff09;的一项独立倡议&#xff0c…...

Android如何对应用进行系统签名

一、使用命令 获取签名文件 从系统源码环境中获取签名相关文件&#xff1a; platform.x509.pem、platform.pk8 、signapk.jar platform.x509.pem、platform.pk8 位于 ../build/target/product/security 目录下。signapk.jar 位于 ../out/host/linux-x86/framework 目录下。 …...

【系统安全加固】Centos 设置禁用密码并打开密钥登录

文章目录 一&#xff0c;概述二&#xff0c;操作步骤1. 服务器端生成密钥2. 在服务器上安装公钥3.下载私钥到本地&#xff08;重要&#xff0c;否则后面无法登录&#xff09;4. 修改配置文件&#xff0c;禁用密码并打开密钥登录5. 重启sshd服务6. 配置xshell使用密钥登录 一&am…...

关于我在项目中封装的一些自定义指令

什么是指令 在Vue中提供了一套为数据驱动视图更为方便的操作&#xff0c;这些操作被称为指令系统。我们看到的v-来头的行内属性&#xff0c;都是指令&#xff0c;不同的指令可以完成或者实现不同的功能。 除了核心功能默认内置的指令&#xff08;v-model和v-show&#xff09;…...

react经验11:访问循环渲染的子组件内容

前有访问单个子组件的需求&#xff0c;现在进一步需要访问循环渲染中的子组件。 访问单个子组件的成员 实施步骤 子组件//child.tsx export declare type ChildInstance{childMethod:()>void } const Child(props:{value:stringonMounted?:(ref:ChildInstance)>void …...

Java开发工程师面试题(业务功能)

一、订单超时未支付自动关闭的几种实现方式。 定时任务扫描&#xff1a;在订单创建时&#xff0c;为订单创建一个定时任务&#xff0c;并设置一个超时时间。后端服务器会定期检查任务的创建时间是否超过了超时时间。如果是&#xff0c;则将订单设置为关闭状态。这种方案需要后…...

BUUCTF-Misc-百里挑一

题目链接&#xff1a;BUUCTF在线评测 (buuoj.cn) 下载附件打开是一个流量包文件&#xff1a; 全是在传图片时候的流量&#xff0c;先把图片保存出来文件–>导出对象–>HTTP–>保存到一个文件夹 然后使用kali下的exiftool找到了一半flag exiftool *|grep flag 另外一半…...

快速体验WAN2.2文生视频:ComfyUI预置工作流,2分钟生成测试视频

快速体验WAN2.2文生视频&#xff1a;ComfyUI预置工作流&#xff0c;2分钟生成测试视频 1. 为什么选择WAN2.2文生视频工作流 如果你正在寻找一个简单易用、效果出色的文生视频工具&#xff0c;WAN2.2文生视频工作流绝对值得一试。这个预置在ComfyUI中的工作流&#xff0c;让视…...

Gemma-3-12B-IT WebUI惊艳效果:Agent框架设计+Tool Calling实现

Gemma-3-12B-IT WebUI惊艳效果&#xff1a;Agent框架设计Tool Calling实现 1. 引言&#xff1a;当大模型拥有“手”和“眼” 想象一下&#xff0c;你正在和一个非常聪明的助手聊天。它能回答你的问题&#xff0c;帮你写代码&#xff0c;甚至能创作故事。但当你问它“现在几点…...

MDXEditor指令系统详解:如何扩展Markdown语法

MDXEditor指令系统详解&#xff1a;如何扩展Markdown语法 【免费下载链接】editor A rich text editor React component for markdown 项目地址: https://gitcode.com/gh_mirrors/editor/editor MDXEditor是一个功能丰富的React组件&#xff0c;专为Markdown编辑设计&am…...

WAN2.2文生视频开源镜像快速上手:ComfyUI界面操作+SDXL Prompt Styler详解

WAN2.2文生视频开源镜像快速上手&#xff1a;ComfyUI界面操作SDXL Prompt Styler详解 想试试用几句话就让AI帮你生成一段视频吗&#xff1f;WAN2.2文生视频开源镜像&#xff0c;结合了强大的ComfyUI界面和SDXL Prompt Styler风格化工具&#xff0c;让这个过程变得直观又简单。…...

《跨摄像机目标追踪技术:构建连续身份与空间一致性的关键路径》——从“身份匹配”到“空间连续”的视频智能体系重构

《跨摄像机目标追踪技术&#xff1a;构建连续身份与空间一致性的关键路径》——从“身份匹配”到“空间连续”的视频智能体系重构发布单位&#xff1a;镜像视界&#xff08;浙江&#xff09;科技有限公司一、问题定义&#xff1a;什么叫“真正的跨摄像机追踪”&#xff1f;在多…...

springboot+vue基于web的校园电动车短租系统的设计系统

目录同行可拿货,招校园代理 ,本人源头供货商系统功能分析用户管理模块车辆管理模块租赁业务模块安全与风控模块统计与报表模块技术实现要点项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作同行可拿货,招校园代理 ,本人源头供货商…...

新手零基础入门:用快马生成你的第一个dify对话应用

今天想和大家分享一个特别适合新手入门的实践&#xff1a;用InsCode(快马)平台快速搭建你的第一个dify对话应用。作为一个刚接触AI开发的小白&#xff0c;我发现这个平台真的能省去很多麻烦的配置步骤&#xff0c;特别适合想快速看到成果的新手。 为什么选择dify作为入门&…...

【独家首发】基于eBPF+Java Agent+Istio Telemetry V2的零侵入式调试框架(已落地金融级生产环境,QPS>50K场景验证)

第一章&#xff1a;零侵入式调试框架的演进逻辑与金融级落地价值传统调试方式依赖代码埋点、日志增强或代理注入&#xff0c;不仅增加系统耦合度&#xff0c;更在高敏感、强一致性的金融核心系统中引入不可控风险。零侵入式调试框架应运而生——它不修改业务字节码、不依赖特定…...

实战演练:基于快马与豆包开放平台,快速开发智能邮件处理助手

今天想和大家分享一个实战项目&#xff1a;基于豆包开放平台的智能邮件助手开发过程。这个工具特别适合需要频繁处理邮件的职场人士&#xff0c;能自动完成邮件摘要、待办事项提取、回复草拟等重复性工作。 项目背景与需求分析 日常工作中&#xff0c;我们经常要处理大量邮件。…...

千问3.5-2B网页交互教程:上传→提问→获取JSON接口响应,全流程代码实例

千问3.5-2B网页交互教程&#xff1a;上传→提问→获取JSON接口响应&#xff0c;全流程代码实例 1. 快速了解千问3.5-2B 千问3.5-2B是Qwen系列的小型视觉语言模型&#xff0c;它能够同时理解图片和文字。想象一下&#xff0c;你有一个既能看图又能聊天的智能助手——这就是千问…...