编程新手必看,python中循环语句学习(14)

news2024/11/26 23:52:49

介绍:
Python3中的循环语句主要有两种:for循环和while循环。
for循环:用于遍历序列(如列表、元组、字符串等)中的元素,执行相应的代码块。在每次循环中,序列中的一个元素被赋值给一个变量,然后执行代码块。当所有元素都被遍历后,循环结束。
while循环:用于在满足某个条件时重复执行代码块。只要条件为True,就会一直执行代码块,直到条件变为False为止。
Python还提供了一些控制循环的关键字,如break和continue。break用于跳出当前循环,不再执行后续的循环体;continue用于跳过本次循环,直接进入下一次循环。
Python的循环语句提供了灵活的方式来重复执行代码块,可以根据需要选择使用for循环或while循环,并结合控制关键字来实现更复杂的循环逻辑。

1、Python3 循环语句

本章节将为大家介绍 Python 循环语句的使用。
Python 中的循环语句有 for 和 while。
Python 循环语句的控制结构图如下所示:
在这里插入图片描述

2、while 循环

Python 中 while 语句的一般形式:

while 判断条件(condition):
    执行语句(statements)……

执行流程图如下:
在这里插入图片描述
执行 Gif 演示:
在这里插入图片描述
同样需要注意冒号和缩进。另外,在 Python 中没有 do…while 循环。
以下实例使用了 while 来计算 1 到 100 的总和:

n = 100
sum = 0
counter = 1
while counter <= n:
    sum = sum + counter
    counter += 1
print("1 到 %d 之和为: %d" % (n, sum))

运行结果

1100 之和为: 5050

2、无限循环

我们可以通过设置条件表达式永远不为 false 来实现无限循环,实例如下:

var = 1
while var == 1:  # 表达式永远为 true
    num = int(input("输入一个数字  :"))
    print("你输入的数字是: ", num)

print("Good bye!")

运行结果

输入一个数字  :123
你输入的数字是:  123
输入一个数字  :121
你输入的数字是:  121
输入一个数字  :124
你输入的数字是:  124
输入一个数字  :

你可以使用 CTRL+C 来退出当前的无限循环。
无限循环在服务器上客户端的实时请求非常有用。

3、while 循环使用 else 语句

如果 while 后面的条件语句为 false 时,则执行 else 的语句块。
语法格式如下:

while <expr>:
    <statement(s)>
else:
    <additional_statement(s)>

expr 条件语句为 true 则执行 statement(s) 语句块,如果为 false,则执行 additional_statement(s)。
循环输出数字,并判断大小:

count = 0
while count < 5:
   print (count, " 小于 5")
   count = count + 1
else:
   print (count, " 大于或等于 5")

输出结果如下:

0  小于 5
1  小于 5
2  小于 5
3  小于 5
4  小于 5
5  大于或等于 5

4、简单语句组

类似 if 语句的语法,如果你的 while 循环体中只有一条语句,你可以将该语句与 while 写在同一行中, 如下所示:

flag = 1
while (flag): print('欢迎学习Python!')
print("Good bye!")

注意:以上的无限循环你可以使用 CTRL+C 来中断循环。
执行以上脚本,输出结果如下:
运行结果

学习Python!
欢迎学习Python!
欢迎学习Python!
欢迎学习Python!
欢迎学习Python!
欢迎学习Python!
欢迎学习Python!

5、for 语句

Python for 循环可以遍历任何可迭代对象,如一个列表或者一个字符串。
for循环的一般格式如下:

for <variable> in <sequence>:
    <statements>
else:
    <statements>

在这里插入图片描述
Python for 循环实例:

sites = ["Baidu", "Google","hauwei","Taobao"]
for site in sites:
    print(site)

运行结果

Baidu
Google
hauwei
Taobao

也可用于打印字符串中的每个字符:

word = 'hello,world!'
for letter in word:
    print(letter)

运行结果

h
e
l
l
o
,
w
o
r
l
d
!

整数范围值可以配合 range() 函数使用:

#  1 到 5 的所有数字:
for number in range(1, 10):
    print(number)

运行结果

1
2
3
4
5
6
7
8
9

6、for…else

在 Python 中,for…else 语句用于在循环结束后执行一段代码。
语法格式如下:

for item in iterable:
    # 循环主体
else:
    # 循环结束后执行的代码

当循环执行完毕(即遍历完 iterable 中的所有元素)后,会执行 else 子句中的代码,如果在循环过程中遇到了 break 语句,则会中断循环,此时不会执行 else 子句。

for x in range(6):
  print(x)
else:
  print("Finally finished!")

输出结果为:

0
1
2
3
4
5
Finally finished!

以下 for 实例中使用了 break 语句,break 语句用于跳出当前循环体,不会执行 else 子句:

sites = ["Baidu", "Google","华为","Taobao"]
for site in sites:
    if site == "华为":
        print("华为!")
        break
    print("循环数据 " + site)
else:
    print("没有循环数据!")
print("完成循环!")

运行结果

循环数据 Baidu
循环数据 Google
华为!
完成循环!

7、range() 函数

如果你需要遍历数字序列,可以使用内置 range() 函数。它会生成数列,例如:

>>>for i in range(5):
...     print(i)
...
0
1
2
3
4

你也可以使用 range() 指定区间的值:

>>>for i in range(5,9) :
    print(i)    
5
6
7
8
>>>

也可以使 range() 以指定数字开始并指定不同的增量(甚至可以是负数,有时这也叫做’步长’):

>>>for i in range(0, 10, 3) :
    print(i)   
0
3
6
9
>>>

负数:

>>>for i in range(-10, -100, -30) :
    print(i)
-10
-40
-70
>>>

您可以结合 range() 和 len() 函数以遍历一个序列的索引,如下所示:

>>>a = ['Google', 'Baidu', 'Runoob', 'Taobao', 'QQ']
>>> for i in range(len(a)):
...     print(i, a[i])
... 
0 Google
1 Baidu
2 Runoob
3 Taobao
4 QQ
>>>

还可以使用 range() 函数来创建一个列表:

>>>list(range(5))
[0, 1, 2, 3, 4]
>>>

break 和 continue 语句及循环中的 else 子句
break 执行流程图:
在这里插入图片描述
continue 执行流程图:
在这里插入图片描述
while 语句代码执行过程:
在这里插入图片描述

8、for 语句代码执行过程:

在这里插入图片描述
break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。
continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
实例
while 中使用 break:

n = 5
while n > 0:
    n -= 1
    if n == 2:
        break
    print(n)
print('循环结束。')
``
输出结果为:
```python
4
3
循环结束。

while 中使用 continue:

n = 5
while n > 0:
    n -= 1
    if n == 2:
        continue
    print(n)
print('循环结束。')

输出结果为:

4
3
1
0
循环结束。
for letter in 'hello,world!':  # 第一个实例
    if letter == 'e':  # 字母为 o 时跳过输出
        continue
    print('当前字母 :', letter)
var = 10  # 第二个实例
while var > 0:
    var = var - 1
    if var == 5:  # 变量为 5 时跳过输出
        continue
    print('当前变量值 :', var)
print("Good bye!")
当前字母 : h
当前字母 : l
当前字母 : l
当前字母 : o
当前字母 : ,
当前字母 : w
当前字母 : o
当前字母 : r
当前字母 : l
当前字母 : d
当前字母 : !
当前变量值 : 9
当前变量值 : 8
当前变量值 : 7
当前变量值 : 6
当前变量值 : 4
当前变量值 : 3
当前变量值 : 2
当前变量值 : 1
当前变量值 : 0
Good bye!

更多实例如下:

for letter in 'Hello,Word':  # 第一个实例
    if letter == 'e':
        break
    print('当前字母为 :', letter)

var = 10  # 第二个实例
while var > 0:
    print('当前变量值为 :', var)
    var = var - 1
    if var == 5:
        break
print("Good bye!")
当前字母为 : H
当前变量值为 : 10
当前变量值为 : 9
当前变量值为 : 8
当前变量值为 : 7
当前变量值为 : 6
Good bye!

输出结果为:
循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被 break 终止时不执行。
如下实例用于查询质数的循环例子:

for n in range(2, 10):
    for x in range(2, n):
        if n % x == 0:
            print(n, '等于', x, '*', n//x)
            break
    else:
        # 循环中没有找到元素
        print(n, ' 是质数')

输出结果为

2  是质数
3  是质数
4 等于 2 * 2
5  是质数
6 等于 2 * 3
7  是质数
8 等于 2 * 4
9 等于 3 * 3

9、pass 语句

Python pass是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句,如下实例

>>>while True:
...     pass  # 等待键盘中断 (Ctrl+C)

最小的类:

>>>class MyEmptyClass:
...     pass

以下实例在字母为 o 时 执行 pass 语句块:

for letter in 'Runoob': 
   if letter == 'o':
      pass
      print ('执行 pass 块')
   print ('当前字母 :', letter)
 
print ("Good bye!")

输出结果为:

当前字母 : R
当前字母 : u
当前字母 : n
执行 pass 块
当前字母 : o
执行 pass 块
当前字母 : o
当前字母 : b
Good bye!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1589243.html

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

相关文章

暴力枚举法

虽然暴力枚举法有时候效率低&#xff0c;时间复杂度高&#xff0c;但是在面对小规模数据集的时候&#xff0c;暴力枚举法往往是很好的思维利器。 B: 01 串的熵&#xff08;5分&#xff09; 问题描述 #include <iostream> #include <cmath> #include <algorithm…

数据治理项目——深铁集团数据治理规划

目录 一、前言 二、数据治理内容与主要措施 2.1 实施背景 2.2 主要举措 2.2.1 制定数据战略目标 2.2.2 绘制数据治理蓝图 2.2.3 绘制数据治理制度 2.2.4 梳理数据资产目录 三、 应用效果 3.1 数据资产可视化管理 3.2 数据标准治理 3.3 集团大数据平台优化建设 一、…

web服务器是如何运行的?tomcat基本原理

tomcat基本流程 tomcat在启动时将webapps下的每个项目中的web.xml读取&#xff0c;获取相关信息。tomcat只关心Servlet 程序、Filter 过滤器、Listener 监听器&#xff0c;不关心其他类。 tomcat接收到请求后会将请求报文转换成一个httpServletRequest对象&#xff0c;包含请求…

【CSS面试题】Flex实现九宫格

考察知识&#xff1a; flex布局 水平垂直居中的实现 初始效果 代码关键&#xff1a;给父盒子添加以下属性 flex-wrap: wrap; /* 允许换行 */justify-content: space-around; /* 主轴对齐方式 */align-content: space-around; /* 多行在侧轴上的对齐方式 */<!DOCTYPE html&…

【干货】【常用电子元器件介绍】【集成电路】(二)--集成电路的识别和检测

声明:本人水平有限,博客可能存在部分错误的地方,请广大读者谅解并向本人反馈错误。 一、 集成电路型号的识别 集成电路的型号一般都在其表面印刷(或者激光刻蚀)出来。集成电路有各种型号,其 命名也有一定的规律,一般是由前缀、数字编号、后缀组成。前缀主要为英文字母,用来…

流动人员人事档案管理信息系统

流动人员人事档案管理信息系统是一种用于管理流动人员的人事档案的信息系统。该系统可以对流动人员的基本信息、工作经历、学历教育、培训记录、奖惩记录等进行管理和统计。通过该系统&#xff0c;可以方便地查询和维护流动人员的人事档案信息&#xff0c;提高人力资源管理的效…

【MATLAB基础】频谱分析

01.引言 频率是单位时间内某事件重复发生的次数,用ω表示,单位是赫兹(Hz)。设m时间内某事件重复发生n次,则此事件发生的频率ω为一。又因为周期定义为重复事件发生的最小时间间隔,故频率也可以表示为周期的倒数:ωn/m,T表示周期。频率是一个很重要的概念,在工程数学中常用于分…

43.基于SpringBoot + Vue实现的前后端分离-疫苗发布和接种预约系统(项目 + 论文)

项目介绍 本次使用Java技术开发的疫苗发布和接种预约系统&#xff0c;就是运用计算机来管理疫苗接种预约信息&#xff0c;该系统是可以实现论坛管理&#xff0c;公告信息管理&#xff0c;疫苗信息管理&#xff0c;医生管理&#xff0c;医院信息管理&#xff0c;用户管理&#x…

2022年蓝桥杯省赛——星期计算

目录 题目链接&#xff1a;1.星期计算 - 蓝桥云课 (lanqiao.cn) 题目描述 思路 代码实现 BigInteger常用方法 BigDecimal常用方法 总结 题目链接&#xff1a;1.星期计算 - 蓝桥云课 (lanqiao.cn) 题目描述 一直今天是星期六&#xff0c;请问 天后是星期几。 注意用数字…

第四百五十六回

文章目录 1. 概念介绍2. 思路与方法2.1 实现思路2.2 使用方法 3. 内容总结 我们在上一章回中介绍了"overlay_tooltip用法"相关的内容&#xff0c;本章回中将介绍onBoarding包.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 我们在本章回中介绍的onBo…

AI大模型创新交汇点:当AI遇见艺术

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

HarmonyOS实战开发-图片编辑、使用 TextArea 实现多文本输入

介绍 本示例使用 TextArea 实现多文本输入&#xff0c;使用 ohos.app.ability.common 依赖系统的图库引用&#xff0c;实现在相册中获取图片&#xff0c;使用 ohos.multimedia.image 生成pixelMap&#xff0c;使用pixelMap的scale()&#xff0c;crop()&#xff0c;rotate()接口…

LinkedHashMap 是如何保证返回的顺序性的?

LinkedHashMap 源码阅读 public class LinkedHashMap<K,V>extends HashMap<K,V>implements Map<K,V>先来看一下 LinkedHashMap 的继承关系&#xff0c;它继承了 HashMap&#xff0c;并且实现了 Map 接口。 LinkedHashMap 底层是 数组 链表 的形式&#xf…

HarmonyOS实战案例:【分布式账本】

简介 Demo基于Open Harmony系统使用ETS语言进行编写&#xff0c;本Demo主要通过设备认证、分布式拉起、分布式数据管理等功能来实现。 应用效果 设备认证,获取同一个局域网内的设备ID&#xff0c;并拉起应用 添加数据并在另一台设备显示该数据 开发步骤 开发文档&#xff…

记账本|基于SSM的家庭记账本小程序设计与实现(源码+数据库+文档)

家庭记账本小程序目录 基于SSM的家庭记账本小程序设计与实现 一、前言 二、系统设计 三、系统功能设计 1、小程序端&#xff1a; 2、后台 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1a;✌️大…

继承【C/C++复习版】

目录 一、什么是继承&#xff1f;怎么定义继承&#xff1f; 二、继承关系和访问限定符&#xff1f; 三、基类和派生类对象可以赋值转换吗&#xff1f; 四、什么是隐藏&#xff1f;隐藏vs重载&#xff1f; 五、派生类的默认成员函数&#xff1f; 1&#xff09;派生类构造函…

JVM基础:类的生命周期详解

JDK版本&#xff1a;jdk8 IDEA版本&#xff1a;IntelliJ IDEA 2022.1.3 文章目录 一. 生命周期概述二. 加载阶段(Loading)2.1 加载步骤2.2 查看内存中的对象 三. 连接阶段(Linking)3.1 连接之验证3.2 连接之准备3.3 连接阶段之解析 四. 初始化阶段(Initialization)4.1 单个类的…

vivado 使用基本触发器模式

使用基本触发器模式 基本触发器模式用于描述触发条件 &#xff0c; 即由参与其中的调试探针比较器组成的全局布尔公式。当“触发器模式 (Trigger Mode) ”设置为 BASIC_ONLY 或 BASIC_OR_TRIG_IN 时 &#xff0c; 即启用基本触发器模式。使用“基本触发器设置 (Basic Trig…

软件测试级别和对应要求

软件测试级别指的是将软件测试活动按照不同的开发阶段和测试目的进行分类&#xff0c;形成不同层次的测试过程。 分级依据&#xff0c;根据V模型 单元测试&#xff1a;这是软件生命周期中的第一个测试级别&#xff0c;主要针对软件的最小单元模块进行&#xff0c;例如类、函数…

二叉树学习

树 树是n个结点的有限集合&#xff0c;当n0时为空树&#xff0c;在任意一颗非空的树中&#xff0c;有且只有一个特定的称为根的结点&#xff0c;当n>1时&#xff0c;其余结点又可以分为m个不相交的有限集&#xff0c;其中每一个集合又是一棵树&#xff0c;并且称为根的子树…