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

python控制语句-1.2

目录

循环结构

while循环

for循环

循环结构练习-1

循环嵌套

循环结构练习-2

循环控制语句(continue & break)


循环结构

while循环

语法

Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,从而处理需要重复处理的相同任务,直到不满足给定条件时,才会结束循环。语法格式如下:

while expression:statement(s)

编程代码构造后按相同数量的字符空间(空格,即 ' ')缩进的所有语句,均被视为单个代码块的一部分。Python 使用缩进作为分组语句的方法。

count = 0
while (count < 3):count = count + 1print("Hello world")'''
在这段代码中,我们使用 count 变量来跟踪循环执行的次数。循环将执行三次,每次执行时会将 count 值增加 1,
并打印出 “Hello world”。当 count 达到 3 时,循环条件不再满足,循环结束。
'''

while 循环中使用 else 语句。正如上面所讨论的,while 循环执行块,直到一个条件得到满足。当条件变为 false 时,循环后面的语句就会被执行。

类似于条件判断语句 if else, 只有当你的 while 条件变为 false 时,else 子句才会被执行。如果你跳出了循环,或者出现了异常,它就不会被执行。其语法如下

while condition:# execute these statements
else:# execute these statements
#例如:count = 0
while (count < 3):count = count + 1print("Hello world")
else:print("ai")'''
当循环开始的时,count小于3则加一,随后输出一次hello world ,当count为3的时候,不满足while循环,则会跳出循环,执行else,则打印ai!!'''

单语句 while 块,就像 if 块一样,如果 while 块由单个语句组成,我们可以在一行中声明整个循环,如下所示:

count = 0
while (count == 0): print("Hello World")

注意:建议不要使用这种类型的循环,因为它是一个永无止境的无限循环,条件始终是真实的,你必须强制终止编译器。


for循环

语法

for 循环用于顺序遍历。例如:遍历列表、字符串或数组等。在 Python 中,没有 C 语言风格的 for 循环,即 for(i=0; i<n; i++)。Python 中使用的是 for...in... 循环,这与其他语言中的每个循环类似。让我们学习如何使用 for...in... 循环进行顺序遍历。其语法如下:

for iterator_var in sequence:statements(s)

示例1

#例如:
n = 4
for i in range(0, n):print(i)'''
这段 Python 代码使用了一个 for 循环来打印从 0 到 n-1 的数字,其中 n 的值为 4。在 range(0, n) 中,0 表示起始值,而 n 表示终止值(不包含 n)。
'''
在Python中,`range`是一个用于生成数字序列的内置函数。它常用于循环结构,例如`for`循环。`range`函数有三个参数:起始值(start),终止值(stop),和步长(step)。语法如下:
```python
range(start, stop, step)
  • start:起始值,默认为0。
  • stop:终止值,生成的序列不包含该值。
  • step:步长,默认为1。

range函数返回一个可迭代的序列,通常与for循环一起使用。如果只提供一个参数,它默认为终止值,起始值为0,步长为1。

例如:

for i in range(5):print(i)

这将打印出从0到4的数字。

如果您有关于range函数或其他Python相关问题的进一步问题,请告诉我,我会乐意帮助您。


**示例2**```Python
#list 列表
print("List Iteration")
l = ["apples", "for", "dogs"]
for i in l:print(i)# tuple 元组
print("\nTuple Iteration")
t = ("apples", "for", "dogs")
for i in t:print(i)# string 字符串
print("\nString Iteration")
s = "students"
for i in s:print(i)# dict 字典
dict_1 = dict()
dict_1["abc"] = 123
dict_1["xyz"] = 456
for i in dict_1: print("%s %d" % (i, dict_1[i]))

我们可以通过 for 循环将序列(如列表(list)或集合(set))中的元素依次取出。


按序列的索引迭代

在 Python,我们也可以使用序列中元素的索引进行迭代。关键思想是首先计算列表的长度,然后在此长度范围内迭代序列,我们可以参考下面的示例,在这个例子中我们将通过方法 len() 来获取 list 的长度。

list = ["123", "456", "789"]
for index in range(len(list)):print(list[index])输出:
123
456
789

for 循环中使用 else 语句:我们也可以将 else 语句与 for 循环结合使用,就像在 while 循环中一样。但是由于 for 循环中没有终止执行的条件,所以 else 块将在 for 块执行完毕后立即执行。下面的例子解释了如何做到这一点。

list = ["123", "456", "789"]
for index in range(len(list)):print(list[index])
else:print("abc")输出:123
456
789
abc

循环结构练习-1
求和描述
请从标准输入流(控制台)中获取一个正整数 n,并输出区间 [1,n] 内所有数的和。你可以使用不同的循环语句(for 或者 while)来实现这个题目。
n = int(input())'''for循环
num = 0
for i in range(1,n+1):num = num + i
print(num)''''''数学公式
print(int((1+n)*n/2))
'''

循环嵌套

语法

Python 编程语言允许在一个循环中使用另一个循环。下面的部分展示了几个例子来说明这个概念。

Python 编程语言中嵌套 for 循环语句的语法如下:

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

Python 编程语言中嵌套 while 循环语句的语法如下:

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

关于循环嵌套,最后需要注意的是,我们可以将任何类型的循环放入任何其他类型的循环中。例如,for 循环可以在 while 循环中,反之亦然。

在下面的例子中,我们的目标是在第 1 行打印 1 个 1,第 2 行打印 2 个 2,第 3 行打印 3 个 3......以此类推。我们可以通过两个 for 循环嵌套来实现,其中外层 for 循环负责控制行数和打印的数字,内层 for 循环负责控制打印多少次。

from __future__ import print_function# 外层循环,i 从 1 到 4(不包括 5)
for i in range(1, 5):# 内层循环,j 从 0 到 i-1for j in range(i):# 打印 i,end=' ' 表示不换行,以空格结尾print(i, end=' ')# 内层循环结束后打印空行,换行显示下一行print()输出:
1 
2 2 
3 3 3 
4 4 4 4 

循环结构练习-2
打印九九乘法表用 for 循环实现打印九九乘法表。
'''
for i in range(1, 10): for j in range(1, i+1): print(f"{j}*{i}={i*j}", end=" ")  print("")  
'''for i in range(1, 10):for j in range(1, i+1):print(f"{j}*{i}={i*j}", end=" " if j<i else '\n')输出:
1 * 1 = 1
1 * 2 = 22 * 2 = 4
1 * 3 = 32 * 3 = 63 * 3 = 9
1 * 4 = 42 * 4 = 83 * 4 = 124 * 4 = 16
1 * 5 = 52 * 5 = 103 * 5 = 154 * 5 = 205 * 5 = 25
1 * 6 = 62 * 6 = 123 * 6 = 184 * 6 = 245 * 6 = 306 * 6 = 36
1 * 7 = 72 * 7 = 143 * 7 = 214 * 7 = 285 * 7 = 356 * 7 = 427 * 7 = 49
1 * 8 = 82 * 8 = 163 * 8 = 244 * 8 = 325 * 8 = 406 * 8 = 487 * 8 = 568 * 8 = 64
1 * 9 = 92 * 9 = 183 * 9 = 274 * 9 = 365 * 9 = 456 * 9 = 547 * 9 = 638 * 9 = 729 * 9 = 81

循环控制语句(continue & break)

continue

语法

循环控制语句改变执行的正常顺序。当执行离开一个作用域时,在该作用域中创建的所有自动对象将被销毁。

Python 支持 continue 控制语句:它将控制返回到循环的开始,或者说是可以结束某一次的循环直接跳到执行下一次的循环。

在下面的例子中,我们通过 continue 跳过了对字符串中所有 'h''a' 的输出。

for letter in 'hello world':if letter == 'l' or letter == 'o':continueprint('Current Letter :', letter)var = 10输出:
Current Letter : h
Current Letter : e
Current Letter :  
Current Letter : w
Current Letter : r
Current Letter : d

break

语法

Python break 语句,就像在C语言中,打破了最小封闭 forwhile 循环。

break 语句用来终止循环语句,即循环条件没有 False 条件或者序列还没被完全递归完,也会停止执行循环语句。

break 语句用在 whilefor 循环中。如果您使用嵌套循环,break 语句将停止执行最深层的循环,并开始执行下一行代码。其语法示例如下,在下面的例子中我们的程序将在循环到字符 'f''a' 时终止循环并输出前一个字符:

for letter in 'World':if letter == 'a' or letter == 'f':break
print('Hello :', letter)输出:
Hello : d

Pass 语句:我们使用 Pass 语句来写空循环。Pass 也用于空的控制语句、函数和类。

在下面的例子中,我们的程序会一直空转到最后一个字符。

# An empty loop
for letter in 'bash':pass
print('Last Letter :', letter)输出:
Last Letter : h

相关文章:

python控制语句-1.2

目录 循环结构 while循环 for循环 循环结构练习-1 循环嵌套 循环结构练习-2 循环控制语句&#xff08;continue & break&#xff09; 循环结构 while循环 语法 Python 编程中 while 语句用于循环执行程序&#xff0c;即在某条件下&#xff0c;循环执行某段程序&am…...

HTML 学习笔记(一)开始

一、介绍: 首先引用百度百科的一段话作为介绍:   HTML的全称为超文本标记语言&#xff0c;是一种标记语言。它包括一系列标签&#xff0c;通过这些标签可以将网络上的文档格式统一&#xff0c;使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本…...

查看自己的ip地址的网站

有时候需要知道自己的ip地址&#xff0c;可以上这个网站查看&#xff1a; What Is My IP? Best Way To Check Your Public IP Address 网站的域名是https://www.whatismyip.com/ 还是挺好记的。...

ES分布式搜索-索引库操作

索引库操作 1、mapping映射属性 可以查看官方文档学习&#xff1a;ES官方手册 mapping是对索引库中文档的约束&#xff0c;常见的mapping属性包括&#xff1a; type&#xff1a;字段数据类型&#xff0c;常见的简单类型有&#xff1a; 字符串&#xff1a;text&#xff08;可…...

Win11 没有网络bug

1.问题描述 没有网络&#xff0c;dns一直是固定的&#xff0c;但是dns已经是自动获取了(MAC地址随机) 2.解决办法 1.首先&#xff0c;删除所有网络的手动dns配置,控制中心那个dns管理没有用,在设置中删除网络,不然问题还会出现 - 2.然后&#xff0c;进入注册表\HKEY_LOCAL_MACH…...

洛谷 1025.数的划分

这道题用的知识点是DFS剪枝。难的不在DFS上&#xff0c;而是在剪枝上如何选择。 思路&#xff1a;这道题我们看到是按照字典序排的&#xff0c;但是&#xff0c;我们注意到&#xff0c;看似是全排列的递归&#xff0c;实则不是。 我们前面也了解过&#xff0c;全排列的数字大…...

MySQL实战:SQL优化及问题排查

有更合适的索引不走&#xff0c;怎么办&#xff1f; MySQL在选取索引时&#xff0c;会参考索引的基数&#xff0c;基数是MySQL估算的&#xff0c;反映这个字段有多少种取值&#xff0c;估算的策略为选取几个页算出取值的平均值&#xff0c;再乘以页数&#xff0c;即为基数 查…...

加密与安全_使用Java代码操作RSA算法生成的密钥对

文章目录 Pre概述什么是非对称加密算法&#xff1f;如何工作&#xff1f;示例&#xff1a;RSA算法特点和优势ECC&#xff1a;另一种非对称加密算法 Code生成公钥和私钥私钥加密私钥加密私钥解密 ( 行不通 )私钥加密公钥解密公钥加密和公钥解密 &#xff08;行不通&#xff09;保…...

Spring Boot中实现图片上传功能的两种策略

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…...

07.axios封装实例

一.简易axios封装-获取省份列表 1. 需求&#xff1a;基于 Promise 和 XHR 封装 myAxios 函数&#xff0c;获取省份列表展示到页面 2. 核心语法&#xff1a; function myAxios(config) {return new Promise((resolve, reject) > {// XHR 请求// 调用成功/失败的处理程序}) …...

【Linux】第四十一站:线程控制

一、Linux线程VS进程 1.进程和线程 进程是资源分配的基本单位线程是调度的基本单位线程共享进程数据&#xff0c;但也拥有自己的一部分数据:线程ID一组寄存器&#xff08;上下文&#xff09;栈errno信号屏蔽字调度优先级 2.进程的多个线程共享 同一地址空间,因此Text Segment、…...

ChatGPT提示词工程:prompt和chatbot

ChatGPT Prompt Engineering for Developers 本文是 https://www.deeplearning.ai/short-courses/chatgpt-prompt-engineering-for-developers/ 这门课程的学习笔记。 ChatGPT提示词工程&#xff1a;prompt和chatbot 文章目录 ChatGPT Prompt Engineering for DevelopersWhat …...

java算法

常见的七种查找算法&#xff1a; 数据结构是数据存储的方式&#xff0c;算法是数据计算的方式。所以在开发中&#xff0c;算法和数据结构息息相关。 1. 基本查找 也叫做顺序查找 说明&#xff1a;顺序查找适合于存储结构为数组或者链表。 基本思想&#xff1a;顺序查找也称…...

铭文资产是比特币生态破局者 or 短暂热点?

比特币作为加密货币的鼻祖&#xff0c;一直以来都扮演着数字资产市场的引领者角色。最近几年&#xff0c;随着 BRC20 项目的兴起&#xff0c;我们看到了更多与比特币相互关联的创新。在比特币生态中&#xff0c;BRC20 项目不仅仅是数字资产的代表&#xff0c;更是一种对于区块链…...

Java基础 - 8 - 算法、正则表达式、异常

一. 算法 什么是算法&#xff1f; 解决某个实际问题的过程和方法 学习算法的技巧&#xff1f; 先搞清楚算法的流程&#xff0c;再直接去推敲如何写算法 1.1 排序算法 1.1.1 冒泡排序 每次从数组中找出最大值放在数组的后面去 public class demo {public static void main(S…...

gRPC-第二代rpc服务

在如今云原生技术的大环境下&#xff0c;rpc服务作为最重要的互联网技术&#xff0c;蓬勃发展&#xff0c;诞生了许多知名基于rpc协议的框架&#xff0c;其中就有本文的主角gRPC技术。 一款高性能、开源的通用rpc框架 作者作为一名在JD实习的Cpper&#xff0c;经过一段时间的学…...

Node.js是什么?

概念&#xff1a;Node.js1运行在服务器端的js&#xff0c;用来编写服务器 特点&#xff1a;单线程、异步、非阻塞、统一API 是一个构建在V8引擎之上的js运行环境&#xff0c;它使得js可以运行在浏览器以外的地方&#xff0c;相对于大部分的服务器端语言来说&#xff0c;Node.J…...

java SSM厂房管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM厂房管理系统是一套完善的web设计系统&#xff08;系统采用SSM框架进行设计开发&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S…...

uniapp实现---类似购物车全选

目录 一、实现思路 二、实现步骤 ①view部分展示 ②JavaScript 内容 ③css中样式展示 三、效果展示 四、小结 注意事项 一、实现思路 点击商家复选框&#xff0c;可选中当前商家下的所有商品。点击全选&#xff0c;选中全部商家的商品 添加单个多选框&#xff0c;在将多选…...

Java:List列表去重有序和无序

目录 待去重列表HashSet去重&#xff08;不保证顺序&#xff09;TreeSet去重&#xff08;不保证顺序&#xff09;LinkedHashSet去重(保证顺序)遍历List去重&#xff08;保证顺序&#xff09;Java8中Stream流处理&#xff08;保证顺序&#xff09;参考文章 待去重列表 // 列表 …...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中&#xff0c;我们已经大致实现了rpc服务端的各项功能代…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建&#xff08;全平台详解&#xff09; 在开始使用 React Native 开发移动应用之前&#xff0c;正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南&#xff0c;涵盖 macOS 和 Windows 平台的配置步骤&#xff0c;如何在 Android 和 iOS…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略&#xff0c;并且实现了基本的选区操作&#xff0c;还调研了自绘选区的实现。那么相对的&#xff0c;我们还需要设计编辑器的选区表达&#xff0c;也可以称为模型选区。编辑器中应用变更时的操作范围&#xff0c;就是以模型选区为基准来…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求&#xff0c;由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面&#xff1a; &#x1f3db;️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限&#xff0c;形成层级清晰的管理网络&#xf…...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心&#xff0c;JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例&#xff1a; 1. onclick - 点击事件 当元素被单击时触发&#xff08;左键点击&#xff09; button.onclick function() {alert("按钮被点击了&#xff01;&…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”&#xff0c;物流的终极形态正在诞生 想象这样的场景&#xff1a; 凌晨3点&#xff0c;某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径&#xff1b;AI视觉系统在0.1秒内扫描包裹信息&#xff1b;数字孪生平台正模拟次日峰值流量压力…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...