当前位置: 首页 > 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;参考文章 待去重列表 // 列表 …...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者

抖音增长新引擎&#xff1a;品融电商&#xff0c;一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中&#xff0c;品牌如何破浪前行&#xff1f;自建团队成本高、效果难控&#xff1b;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

uniapp 实现腾讯云IM群文件上传下载功能

UniApp 集成腾讯云IM实现群文件上传下载功能全攻略 一、功能背景与技术选型 在团队协作场景中&#xff0c;群文件共享是核心需求之一。本文将介绍如何基于腾讯云IMCOS&#xff0c;在uniapp中实现&#xff1a; 群内文件上传/下载文件元数据管理下载进度追踪跨平台文件预览 二…...

规则与人性的天平——由高考迟到事件引发的思考

当那位身着校服的考生在考场关闭1分钟后狂奔而至&#xff0c;他涨红的脸上写满绝望。铁门内秒针划过的弧度&#xff0c;成为改变人生的残酷抛物线。家长声嘶力竭的哀求与考务人员机械的"这是规定"&#xff0c;构成当代中国教育最尖锐的隐喻。 一、刚性规则的必要性 …...

Linux-进程间的通信

1、IPC&#xff1a; Inter Process Communication&#xff08;进程间通信&#xff09;&#xff1a; 由于每个进程在操作系统中有独立的地址空间&#xff0c;它们不能像线程那样直接访问彼此的内存&#xff0c;所以必须通过某种方式进行通信。 常见的 IPC 方式包括&#…...

用 Rust 重写 Linux 内核模块实战:迈向安全内核的新篇章

用 Rust 重写 Linux 内核模块实战&#xff1a;迈向安全内核的新篇章 ​​摘要&#xff1a;​​ 操作系统内核的安全性、稳定性至关重要。传统 Linux 内核模块开发长期依赖于 C 语言&#xff0c;受限于 C 语言本身的内存安全和并发安全问题&#xff0c;开发复杂模块极易引入难以…...

【图片转AR场景】Tripo + Blender + Kivicube 实现图片转 AR 建模

总览 1.将 2D 图片转为立体建模 2. 3. 一、将 2D 图片转为立体建模 1.工具介绍 Tripo 网站 2.找图片 找的图片必须是看起来能够让 AI 有能力识别和推理的&#xff0c;因为现在的AI虽然可以补全但是能力还没有像人的想象力那么丰富。 比如上面这张图片&#xff0c;看起来虽…...

Digital IC Design Flow

Flow介绍 1.设计规格 架构师根据市场需求制作算法模型(Algorithm emulation)及芯片架构(Chip architecture),确定芯片设计规格书(Chip design specification) 原型验证 原型验证(Prototype Validation)通常位于产品开发流程的前期阶段,主要是在设计和开发的初步阶…...

从零开始学Flink:揭开实时计算的神秘面纱

一、为什么需要Flink&#xff1f; 当你在电商平台秒杀商品时&#xff0c;1毫秒的延迟可能导致交易失败&#xff1b;当自动驾驶汽车遇到障碍物时&#xff0c;10毫秒的计算延迟可能酿成事故。这些场景揭示了一个残酷事实&#xff1a;数据的价值随时间呈指数级衰减。 传统批处理…...