【从零学习python 】11.Python循环语句和控制流程

news2024/11/28 0:42:39

文章目录

  • while 语法
  • for循环
    • for循环的格式
    • range
  • break和continue
    • break的使用
    • continue的使用
  • 嵌套循环
    • while嵌套的格式
    • 语法结构:
    • 练习题答案
    • 进阶案例

while 语法

while 判断条件:
    代码块

我们发现,while循环的语法结构和if语句的结构很相像,那么这两个之间有什么区别呢?

if 判断条件:
    代码块

区别在于,if语句只会执行一次判断条件,条件成立以后,只会执行一次代码块;而while语句,会先执行一次判断条件,如果条件成立,会执行一次代码块,代码块执行完成以后,会再次判断条件语句,如果还成立,将会再执行代码语句… 直到最后条件不成立。
在这里插入图片描述

示例

输出十遍hello world

i = 1
while i <= 10:
    print('hello world')
    i += 1 # 一定要记得让 i += 1, 否则会造成死循环

练习

求1~100的和

求1~100所有偶数的和

for循环

除了while循环以外,for可以完成循环的功能。 在Python中 for循环可以遍历任何序列的项目,如一个列表或者一个字符串等。

for循环的格式

for 临时变量 in 列表或者字符串等可迭代对象:
    循环满足条件时执行的代码

for循环的使用

遍历字符串:

for s in "hello":
    print(s)

输出结果:

h
e
l
l
o

打印数字

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

输出结果:

0
1
2
3
4

练习

使用for循环,计算1~100的和

range

range 可以生成数字供 for 循环遍历,它可以传递三个参数,分别表示 起始、结束和步长。

>>> range(2, 10, 3)
[2, 5, 8]
>>> for x in range(2, 10, 3):
...     print(x)
...
2
5
8

break和continue

break和continue都用在循环语句里,用来控制循环。

break的使用

结束整个循环。

i = 0
while i < 10:
    i += 1
    if i == 7:
        break
    print(i)

输出结果是:

1
2
3
4
5
6

continue的使用

结束本次循环,开始下一轮循环。

i = 1
while i <= 10:
    if i == 7:
        continue
    print(i)
    i += 1

输出结果是:

1
2
3
4
5
6
8
9
10

练习

打印 1~100 内,不能被 7 整除的所有数字。

计算 1~100 内,所有不能被 7 整除的数字之和。

不断的询问用户,“我爱你,你爱我吗?”,只有用户回答"爱"时,结束循环。

注意点

在Python中,break和continue只能用于循环语句中。

break和continue在嵌套循环中使用时,只对最内层循环有效。

嵌套循环

前面学习过if的嵌套了,想一想if嵌套是什么样子的? 类似if的嵌套,while嵌套就是:while里面还有while

while嵌套的格式

while 条件1:
        外循环代码块
        while 条件2:
            内循环代码块

内循环一旦开始,则要执行到条件2不满足,才会继续执行外循环的代码。

i = 0  # 内外循环的控制变量不能一样
while i < 5:

    j = 0  # 内循环的控制变量必须要在外循环里初始化
    while j < 5:
        print('j= %d' % j)
        j += 1

    print('i= %d' % i)
    i += 1

练习:

打印如下图形

*
* *
* * *
* * * *
* * * * *

打印九九乘法表。
在这里插入图片描述

在Python中,循环语句还可以和else语句联合使用。

语法结构:

while 判断条件:
  条件成立时,循环体代码
else:
  条件不成立时,执行的代码

从上述结构中,我们可以看出,在非死循环中,正常情况下else里的语句都是会被执行的。那这个else语句到底有什么作用呢?一般情况下,循环语句和else共同出现时,在循环语句里都会配合break语句来使用。

查看下面的代码:

i = 0
while i < 10:
    if i == 5:
        break
    i += 1
else:
    print('循环条件不成立时执行的代码')

上述代码中,else语句的代码是否会执行,为什么?

练习

打印1~100所有的质数。

练习题答案

求1~100的和:

sum = 0
for i in range(1, 101):
    sum += i
print("1~100的和为:", sum)

求1~100所有偶数的和:

sum = 0
for i in range(1, 101):
    if i % 2 == 0:
        sum += i
print("1~100所有偶数的和为:", sum)

打印 1~100 内,不能被 7 整除的所有数字:

for i in range(1, 101):
    if i % 7 != 0:
        print(i)

计算 1~100 内,所有不能被 7 整除的数字之和:

sum = 0
for i in range(1, 101):
    if i % 7 != 0:
        sum += i
print("1~100所有不能被7整除的数字之和为:", sum)

不断地询问用户“我爱你,你爱我吗?”,只有用户回答"爱"时,结束循环:

while True:
    answer = input("我爱你,你爱我吗?")
    if answer == "爱":
        break

打印如下图形:

*
* *
* * *
* * * *
* * * * *
for i in range(1, 6):
    for j in range(i):
        print("*", end=" ")
    print()

打印九九乘法表:

for i in range(1, 10):
    for j in range(1, i+1):
        print("%d*%d=%2d" % (j, i, i*j), end=" ")
    print()

打印1~100所有的质数:

for num in range(2, 101):
    for i in range(2, num):
        if num % i == 0:
            break
    else:
        print(num)

进阶案例

【Python】Python 实现猜单词游戏——挑战你的智力和运气!

【python】Python tkinter库实现重量单位转换器的GUI程序

【python】使用Selenium获取(2023博客之星)的参赛文章

【python】使用Selenium和Chrome WebDriver来获取 【腾讯云 Cloud Studio 实战训练营】中的文章信息

使用腾讯云 Cloud studio 实现调度百度AI实现文字识别

【玩转Python系列【小白必看】Python多线程爬虫:下载表情包网站的图片

【玩转Python系列】【小白必看】使用Python爬取双色球历史数据并可视化分析

【玩转python系列】【小白必看】使用Python爬虫技术获取代理IP并保存到文件中

【小白必看】Python图片合成示例之使用PIL库实现多张图片按行列合成

【小白必看】Python爬虫实战之批量下载女神图片并保存到本地

【小白必看】Python词云生成器详细解析及代码实现

【小白必看】Python爬取NBA球员数据示例

【小白必看】使用Python爬取喜马拉雅音频并保存的示例代码

【小白必看】使用Python批量下载英雄联盟皮肤图片的技术实现

【小白必看】Python爬虫数据处理与可视化

【小白必看】轻松获取王者荣耀英雄皮肤图片的Python爬虫程序

【小白必看】利用Python生成个性化名单Word文档

【小白必看】Python爬虫实战:获取阴阳师网站图片并自动保存

小白必看系列之图书管理系统-登录和注册功能示例代码

小白实战100案例: 完整简单的双色球彩票中奖判断程序,适合小白入门

使用 geopandas 和 shapely(.shp) 进行地理空间数据处理和可视化

使用selenium爬取猫眼电影榜单数据

图像增强算法Retinex原理与实现详解

爬虫入门指南(8): 编写天气数据爬虫程序,实现可视化分析

爬虫入门指南(7):使用Selenium和BeautifulSoup爬取豆瓣电影Top250实例讲解【爬虫小白必看】

爬虫入门指南(6):反爬虫与高级技巧:IP代理、User-Agent伪装、Cookie绕过登录验证及验证码识别工具

爬虫入门指南(5): 分布式爬虫与并发控制 【提高爬取效率与请求合理性控制的实现方法】

爬虫入门指南(4): 使用Selenium和API爬取动态网页的最佳方法

爬虫入门指南(3):Python网络请求及常见反爬虫策略应对方法

爬虫入门指南(2):如何使用正则表达式进行数据提取和处理

爬虫入门指南(1):学习爬虫的基础知识和技巧

深度学习模型在图像识别中的应用:CIFAR-10数据集实践与准确率分析

Python面向对象编程基础知识和示例代码

MySQL 数据库操作指南:学习如何使用 Python 进行增删改查操作

Python文件操作指南:编码、读取、写入和异常处理

使用Python和Selenium自动化爬取 #【端午特别征文】 探索技术极致,未来因你出“粽” # 的投稿文章

Python多线程与多进程教程:全面解析、代码案例与优化技巧

Selenium自动化工具集 - 完整指南和使用教程

Python网络爬虫基础进阶到实战教程

Python入门教程:掌握for循环、while循环、字符串操作、文件读写与异常处理等基础知识

Pandas数据处理与分析教程:从基础到实战

Python 中常用的数据类型及相关操作详解

【2023年最新】提高分类模型指标的六大方案详解

Python编程入门基础及高级技能、Web开发、数据分析和机器学习与人工智能

用4种回归方法绘制预测结果图表:向量回归、随机森林回归、线性回归、K-最近邻回归

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

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

相关文章

CSS-grid布局

网格布局也叫grid布局&#xff0c;平常写样式的时候基本上都是用的flex布局。 像以下布局&#xff0c;用flex布局就可能会有有点麻烦&#xff0c;这时候用grid布局就方便的多了。 或者是照片墙 grid布局就是将容器划分为行和列&#xff0c;产生单元格&#xff0c;然后在指定的…

幻读怎么复现

大家好&#xff0c;我是想想。 很久没有给大家分享技术了&#xff0c;主要在计划一些事情&#xff0c;几乎没什么时间爽文了。 今天从实操上实现了MySQL事务隔离复现问题&#xff0c;就记录分享给大家吧。 正文 我们知道&#xff0c;著名的四大事务特性ACID特性 Atomicity…

Mongodb管道函数操作数组,过滤,数组截取,条件分支,字符串合并

&#xff08;学习的本质&#xff0c;不在于记住哪些知识&#xff0c;而在于它触发了你的思考——迈克尔桑德尔&#xff09; 假如有以下数据结构 其中features内value的数据结构是可变的 {"_id": {"$oid": "64bd0b17258d09faf6ebb6ee"},"i…

wpf控件上移下移,调整子集控件显示顺序

页面代码&#xff1a; <!-- 导出A2&#xff0c;自定义导出设置列&#xff0c;添加时间&#xff1a;2023-8-9 14:14:18&#xff0c;作者&#xff1a;whl&#xff1b; --><Window x:Class"WpfSnqkGasAnalysis.WindowGasExportA2"xmlns"http://schemas.…

【福建事业单位-资料分析】03 比重和平均数

【福建事业单位-资料分析】03 比重和平均数 一、比重&#xff08;现期比重&#xff0c;基期比重、两期比重&#xff09;1.1 现期比重增长贡献量&#xff0c;利润率 1.2基期比重&#xff08;用现期和增长率逆求&#xff09;1.3两期比重&#xff08;难点重点&#xff09;——比较…

工厂食堂就餐全攻略!还不赶紧来码住?

随着科技的不断进步&#xff0c;智能化系统在各个领域都呈现出令人瞩目的应用前景。在这个数字化时代&#xff0c;工厂食堂也逐渐走向智能化管理的道路。 智慧收银系统作为其中的一环&#xff0c;正为工厂食堂的效率提升、成本降低以及服务质量提升提供了全新的可能性。无需繁琐…

持有PMP证书,可申请CSPM证书!

一&#xff0c;CSPM介绍 CSPM的全称是&#xff1a;项目管理专业人员能力评价&#xff0c;是我们国内的“PMP”&#xff0c;是我们中国人自己的项目管理专业人士评价指南&#xff0c;符合中国国情且符合中国未来发展的项目管理专业人员能力评价标准。 2022年10月12日发布实施了…

计算机组成原理-笔记-第五章

目录 五、第五章——中央处理器 1、CPU的功能和基本结构 &#xff08;1&#xff09;运算器内部结构 &#xff08;2&#xff09;控制器的基本结构 &#xff08;3&#xff09;CPU的四大部分 2、指令执行过程&#xff08;数据流向 & 执行方案&#xff09; &#xff08;…

libheif —— 2、编写苹果、小米的.heic图片查看器

效果图 .heic简介 HEIC,是iOS 11更新后,iPhone 7及其后硬件,在拍摄照片时的默认图像存储格式。 HEIC是一种图像格式,上线时间还比较短,只有4年左右。自iOS 11和macOS High Sierra(10.13)内测开始,苹果将HEIC设置为图片存储的默认格式。与JPG相比,它占用的空间更小,画…

【ADS】在同一个symbol层次化实现理想器件和EM仿真的切换

ADS层次化切换理想器件和电磁仿真 1.需求描述2.实现步骤2.1 层次结构2.2 新建schematic2.3 新建symbol2.4 使用演示 3.后言 1.需求描述 在使用ADS做电磁仿真时&#xff0c;得到的结果需要多次迭代去接近原理图&#xff0c;那么就需要反复与原理图切换进行对比。 比较直接的方法…

Spring Initailizr--快速入门--SpringBoot的选择

&#x1f600;前言 本篇博文是关于IDEA使用Spring Initializer快速创建Spring Boot项目的说明&#xff0c;希望能够帮助到您&#x1f60a; &#x1f3e0;个人主页&#xff1a;晨犀主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我的文章可…

tsmc12 via0_grid

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?拾陆楼知识星球入口 PG VIA0连接ME1和ME0,存在cell中奇数site中,如下图,所以两个cell在竖直方向邻接时要对其有via0的site,为了方便place与检查需要place前定义via0_grid,辅助奇数cell site落在grid上 自定义的via0_…

AcWing算法提高课-1.3.18能量石

宣传一下算法提高课整理 <— CSDN个人主页&#xff1a;更好的阅读体验 <— 本题链接&#xff08;AcWing&#xff09; 点这里 题目描述 岩石怪物杜达生活在魔法森林中&#xff0c;他在午餐时收集了 N N N 块能量石准备开吃。 由于他的嘴很小&#xff0c;所以一次只能…

Elasticsearch 与 OpenSearch:揭开性能差距

作者&#xff1a;George Kobar, Ugo Sangiorgi 对于任何依赖快速、准确搜索数据的组织来说&#xff0c;强大、快速且高效的搜索引擎是至关重要的元素。 对于开发人员和架构师来说&#xff0c;选择正确的搜索平台可以极大地影响你的组织提供快速且相关结果的能力。 在我们全面的…

突破笔试:力扣计算布尔二叉树的值(medium)

1.题目链接&#xff1a;2331. 计算布尔二叉树的值 2. 题目描述&#xff1a; 给你一棵 完整二叉树 的根&#xff0c;这棵树有以下特征&#xff1a;叶子节点 要么值为 0 要么值为 1 &#xff0c;其中 0 表示 False &#xff0c;1 表示 True 。 非叶子节点 要么值为 2 要么值为 …

通过Easy Excel导入数据

目录 &#x1f351;一、背景&#x1f351;二、开发验证&#x1f34a;2.1、引入easyexcel依赖&#x1f34a;2.2、创建表及基础代码&#x1f34a;2.3、处理类及接口&#x1f353;2.3.1、EasyExcel监听处理器&#x1f353;2.3.2、Controller接口&#x1f353;2.3.3、service调用监…

Vue3使用wangEditor

那么这一节我们在编辑公司信息的弹窗中使用富文本插件wangEditor官网 Vue3使用wangEditor 安装wangEditor在弹窗中引入wangEditor结构api接口部分editor组件script部分怎么去修改富文本的编辑器&#xff1f; 案例内效果&#xff1a; 安装wangEditor npm install wangeditor/…

bash: make: command not found

make之后报错信息如下&#xff1a;cd 对应的文件路径后 make 发现报错&#xff1a;bash: make: command not found 这个原因可能是没有安装make工具,也可能是安装了make之后,没有将make的文件路径添加到系统环境变量中 有没有安装make,可以使用Search Everything搜索是否有make…

24聊城大学823软件工程考研

1.软件发展有几个阶段&#xff1f;各有何特征&#xff1f; ①程序设计阶段 硬件特征&#xff1a;价格贵、存储容量小、运行可靠性差。 软件特征&#xff1a;只有程序、程序设计概念&#xff0c;不重视程序设计方法。 ②程序系统阶段。 硬件特征&#xff1a;速度、容量及工作可…

JS逆向系列之猿人学爬虫第11题 - app抓取 - so文件协议破解

题目地址 http://match.yuanrenxue.com/match/11这是个app题目,先下载下来安装到测试手机上 安装完成后的app界面长这样 打开之后是这样的: 要求已经简单明了了。 二话不说先反编译app 不出意外的是没出意外,源代码里面没啥混淆,所有东西都展示的明明白白的。 "…