Python 基础语法详解(五)

Python 基础语法详解(五)

    • Python 循环语句
      • 14.1 while 循环
        • 实操:
        • ①重要命令:continue 和 break
        • ②while 循环使用 else 语句
        • 实操:
        • ③pass 语句
      • 14.2 for 循环
        • 实操:
        • ①上实操——通过索引序列迭代元素
        • ②for 循环使用 else 语句
          • 实操一:
          • 实操二——计算出 100 以内的质数:
      • 14.3 拓展两个有关于 continue 的例子

Python 循环语句

python中的循环语句有 for 和 while 两种,下面带领大家一同深入研究一下:

  1. Python for 循环语法
for iterating_var in sequence:
    statements(s)
  1. Python while 循环语法
while expression:
    statement(s)

上述只是最基本的 for 和 while 语法,你可以看成是一个组件,你可以灵活的嵌套使用,可以在循环体内嵌入其他的循环体,如在 while 循环中可以嵌入 for 循环,反之亦然。


14.1 while 循环

执行流程图如下:

在这里插入图片描述

while 循环就是不停地判断条件是否成立,条件成立则执行循环体,条件不成立时不执行循环体,退出循环。

实操:
# -*- coding: utf-8 -*-
# __author__ = 帅小柏

count = 0
while (count < 5):
    print('The count is:', count)
    count = count + 1

print("Good bye!")
在这里插入图片描述
①重要命令:continue 和 break

while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于跳过整个循环(即退出循环),此外 “判断条件” 还可以是个常值,表示循环必定成立。

第一个:break 语句

Python break 语句,就像在 C 语言中,打破了最内层封闭的 for 或 while 循环。

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

break 语句用在 while 和 for 循环中。

如果您使用嵌套循环,break 语句将停止执行最深层的循环,并开始执行下一行代码。

第二个:continue 语句

Python continue 语句跳出本次循环,而 break 跳出整个循环,这俩一定要区分清哦!

continue 语句用来告诉 Python 跳过当前循环的剩余语句,然后继续进行下一轮循环。

continue 语句用在 while 和 for 循环中。

二者具体用法如下:

# -*- coding: utf-8 -*-
# __author__ = 帅小柏

i = 1
while i < 5:
    i += 1
    if i % 2 > 0:  # 非双数时跳过输出
        continue
    print(i)  # 输出双数2、4

i = 1
while 1:  # 循环条件为1必定成立
    print(i)  # 输出1~10
    i += 1
    if i > 5:  # 当i大于5时跳出循环
        break
在这里插入图片描述
②while 循环使用 else 语句

else 的作用是判断循环是否正常结束,如果循环是被 break 中断 else 里的代码块就不再执行。

实操:
# -*- coding: utf-8 -*-
# __author__ = 帅小柏

count = 0
while count < 5:
    print(count, " is  less than 5")
    count = count + 1
else:
    print(count, " is not less than 5")
在这里插入图片描述
③pass 语句

pass 的作用,表示占位符。

while True:
    pass

上面这个程序是不动的,但是不报错。

占位符 pass 的作用:

  1. 语句的完整性就相当于一个大家庭,pass 的目的是保证语义的完整性。
  2. 保证格式的一个完整性。
  3. 就是一个空语句。

14.2 for 循环

执行流程图如下:

在这里插入图片描述

for 循环可以遍历任何序列的项目,如一个列表或者一个字符串。

实操:
# -*- coding: utf-8 -*-
# __author__ = 帅小柏

for letter in 'Python':  # 第一个实例
    print('当前字母 :', letter)

fruits = ['banana', 'apple', 'mango']
for fruit in fruits:  # 第二个实例
    print('当前水果 :', fruit)

print("Good bye!")
在这里插入图片描述
①上实操——通过索引序列迭代元素

(大家可以先形象理解下,后面学完列表再回过头来看就会感觉豁然开朗了哦~)

# -*- coding: utf-8 -*-
# __author__ = 帅小柏

fruits = ['banana', 'apple', 'mango']
for i in range(len(fruits)):
    print('当前水果 :', fruits[i])
print("Good bye!")
在这里插入图片描述

小知识点

range 是范围,从 0 开始,取头不取尾!


②for 循环使用 else 语句

在 Python 中,for … else , for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。

也就是说 for 循环中的 else 部分是循环结束后执行的,但如果循环被 break 结束后,else 部分便不再执行。

实操一:
# -*- coding: utf-8 -*-
# __author__ = 帅小柏

for num in range(10, 20):    # 迭代 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(num, '是一个质数')
在这里插入图片描述
实操二——计算出 100 以内的质数:
# -*- coding: utf-8 -*-
# __author__ = 帅小柏

prime = []
for num in range(2, 100):    # 迭代 2 到 100 之间的数字
    for i in range(2, num):  # 根据因子迭代
        if num % i == 0:     # 确定第一个因子
            break            # 跳出当前循环
    else:  # 循环的 else 部分
        prime.append(num)
print(prime)
在这里插入图片描述

14.3 拓展两个有关于 continue 的例子

# -*- coding: utf-8 -*-
# __author__ = 帅小柏

for letter in 'Python':  
    if letter == 'h':
        continue
    print('当前字母 :', letter)

var = 5 
while var > 0:
    var = var - 1
    if var == 2:
        continue
    print('当前变量值 :', var)
print("Good bye!")
在这里插入图片描述

欢迎通过关注公众号【帅小柏】,加入我们的 Python 大家庭,共同学习进步。

加入我们,一起学习 Python,互相学习,共同进步。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OCP-042之:Oracle实例管理

2. Oracle实例管理 2.1 Instance管理 Oracle实例(instance)是一组Oracle后台进程和内存结构的集合。 后台进程主要包括SMON,PMON,DBWR,CKPT和LGWR等;内存结构包括数据库高速缓冲区、重做日志缓冲区、共享池、大池等组成系统全局区(SGA)的重要组件。实例主要实现对数据库的…

我开发了一款只用一个注解就实现统计访问量的工具框架

大家有可能在实际开发项目中会遇到这样的情况。实现计数器功能&#xff0c;比如统计网站访问量、用户点击次数等。大家有可能把它放在redis里面&#xff0c;也有可能把它放在MYSQL里面。但是这样大家都需要动手实现很多的代码。繁琐而复杂。于是我就想在 simple-cache框架中发布…

C#之EntityFramework的应用

目录 1&#xff0c;名词概述。 2&#xff0c;实体数据模型EDM介绍。 3&#xff0c;规范函数。 4&#xff0c;查看Linq转换成的SQL语句。 5&#xff0c;数据的增删改查。 5.1&#xff0c;数据查询 5.2&#xff0c;数据插入 5.3&#xff0c;数据更新 5.4&#xff0c;数据…

深入探索 Rust 的 clap 库:命令行解析的艺术

版本声明 Rust: 1.76clap: 4.5.1clap_complete 4.5.1rpassword: 7.3.1 结论先行 本文将从 CLI&#xff08;Command Line Interface&#xff09;命令行工具的概述讲起&#xff0c;介绍一个优秀的命令行工具应该具备的功能和特性。然后介绍 Rust 中一个非常优秀的命令行解析工…

8.1 基本打印功能

本文仅供学习交流&#xff0c;严禁用于商业用途&#xff0c;如本文涉及侵权请及时联系本人将于及时删除 在使用“MFC应用”项目模板生成应用程序的过程中&#xff0c;如果在“高级功能”窗口中不取消对打印和打印预览的设置&#xff0c;那么应用程序就已经具备了简单的打印和打…

Switch 之 配置SNMP

Description SNMP&#xff08;Simple Network Management Protocol&#xff0c;简单网络管理协议&#xff09;是一种用于网络管理的协议&#xff0c;它用于在网络中对设备进行监控和管理。 SNMP定义了一种管理框架&#xff0c;其中包括管理站、代理和管理信息库&#xff08;M…

今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 6月11日,星期二

每天一分钟&#xff0c;知晓天下事&#xff01; 2024年6月11日 星期二 农历五月初六 1、 文旅部发布数据&#xff1a;端午假期国内游出游1.1亿人次&#xff0c;游客总花费403.5亿元。 2、 水利部&#xff1a;11日至15日&#xff0c;江西、浙江、广东等6省份部分中小河流可能发…

war后门文件部署 什么是war后门文件 为什么要部署???看见war后门文件部署你知道????

在漏洞复现的时候做了一道war后门文件部署的&#xff0c;然后我们就要去了解什么是war包&#xff0c;然后这个漏洞实现要有什么情况&#xff1f;&#xff1f;为什么要进行部署&#xff1f;&#xff1f; war包在哪些地方可以实现&#xff1f;&#xff1f;&#xff1f; war是一种…

c语言编程

1. 2。 int main(int argc, const char *argv[]) { int year,month,day; int result0; printf("请输入&#xff1a;"); scanf("%d/%d/%d",&year,&month,&day); if(month>12||month<1) { printf("error \n"); return 0; } s…

AI大模型:未来5~10年的技术革命与机遇

引言 在当今科技飞速发展的时代&#xff0c;AI大模型无疑成为了一个热门话题。它不仅仅是一个技术名词&#xff0c;更是未来5&#xff5e;10年内不可避免的技术革命。AI大模型以其强大的数据处理能力、深度学习能力以及广泛的应用前景&#xff0c;正在改变我们的生活和工作方式…

LabVIEW输送机动态特性参数监测系统

开发了一套基于LabVIEW软件和STM32F103ZET6单片机的带式输送机动态特性参数监测系统。该系统通过电阻应变式压力传感器和光电编码器实时采集输送带的张力和带速信息&#xff0c;通过5G模块将数据传输至上位机&#xff0c;实现数据的可视化处理与实时预警&#xff0c;有效提高输…

C++系统编程篇——linux编译器 gcc/g++(链接动静态库)

linux编译器-gcc/g &#xff08;1&#xff09;g安装&#xff08;gcc一般自带&#xff0c;g需要下载&#xff09; sudo yum install -y gcc-c g --version gcc用于编译C语言代码&#xff0c;g用于编译C代码 &#xff08;2&#xff09;程序翻译过程 选项“-o”是指目标文件…

Java | Leetcode Java题解之第141题环形链表

题目&#xff1a; 题解&#xff1a; public class Solution {public boolean hasCycle(ListNode head) {if (head null || head.next null) {return false;}ListNode slow head;ListNode fast head.next;while (slow ! fast) {if (fast null || fast.next null) {return…

802.11漫游流程简单解析与笔记_Part3

原定计划在Part3分析ns3的Roaming流程抓包&#xff0c;但ns3并不支持漫游&#xff1a; 看过Part1的应该都知道&#xff0c;标准关联流程是auth*2 associate*2 key*4&#xff0c;但ns3里面没有与auth有关的部分&#xff0c;third脚本里面有cap字段&#xff0c;但无auth也无key&a…

重学Spring总结

1、Spring框架的诞生 文章目录 1、Spring框架的诞生1、BeanFactory 快速入门1.1、BeanFactory完成了loC思想的实现&#xff1a;1)导入Spring相关的依赖&#xff1a;2)定义Uservice接口及其UserviceImpl实现类&#xff1b;3)创建Bean的配置资源文件&#xff0c;文件名最好为&…

图神经网络实战(13)——经典链接预测算法

图神经网络实战&#xff08;13&#xff09;——经典链接预测算法 0. 前言1. 链接预测2. 启发式技术2.1 局部启发式技术2.2 全局启发式技术 3. 矩阵分解小结系列链接 0. 前言 链接预测 (Link prediction) 可以帮助我们理解和挖掘图中的关系&#xff0c;并在社交网络、推荐系统等…

K8S - 用kubectl远程访问内网的k8s集群

在之前的文章 K8S - 在任意node里执行kubectl 命令 介绍过&#xff0c; 通过任何node 的主机&#xff0c; 用kubectl 管理集群是很简单 无非就是两个步骤: 下载 k8s master 上的admin.conf在当前主机配置 K8SCONFIG 环境变量指向 下载的config file 其他内网主机也适用 其…

【图书推荐】《分布式数据库HBase案例教程》

本书重点 最后一章HBase项目实战——论坛日志分析&#xff0c;可以作为研究课题和毕业论文素材&#xff0c;值得收藏。 本书配套示例源码、PPT课件、开发环境、教学视频、习题及答案以及其他丰富的教学资源&#xff0c;方便自学。 内容简介 本书定位是HBase从入门到应用的简…

探索智慧机场运营中心解决方案的价值与应用

随着全球航空业的不断发展&#xff0c;机场运营中心的作用日益凸显。智慧机场运营中心解决方案以其高效的管理和智能化的运营模式&#xff0c;成为优化机场运营、提升服务水平的重要工具。本文将深入探讨智慧机场运营中心解决方案的价值与应用&#xff0c;揭示其在机场管理中的…

[大模型]GLM-4-9B-Chat vLLM 部署调用

vLLM 简介 vLLM 框架是一个高效的大型语言模型&#xff08;LLM&#xff09;推理和部署服务系统&#xff0c;具备以下特性&#xff1a; 高效的内存管理&#xff1a;通过 PagedAttention 算法&#xff0c;vLLM 实现了对 KV 缓存的高效管理&#xff0c;减少了内存浪费&#xff0…