百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Python进阶记录之基础篇(四)(python入门经典100例)

off999 2024-11-04 13:14 28 浏览 0 评论

回顾

在Python进阶记录之基础篇(三)中,我们介绍了Python中分支结构if语句的相关知识以及输入函数input()的基本用法。if语句在我们日后的编程中会经常使用到,今天我们讲一下另一个重要的结构——Python中的循环结构。

循环结构的概念与意义

有时我们会需要在程序中重复的执行某条或某些指令,例如打印1000次“Hello World”,我们总不能老老实实地写1000行print("Hello World")吧,这样岂不是又累又无聊?因此我们就会用到循环结构。

循环结构指的是在程序中需要反复执行某个功能而设置的一种程序结构。它由循环体中的条件,判断继续执行某个功能还是退出循环。循环结构的主要作用是可以减少代码的重复书写。循环结构需要三个重要的要素:循环变量、循环体和循环终止条件。

不像Java、C等语言有多种构造循环结构的方法,在Python中构造循环结构的方法只有有两种,一种是for-in循环,一种是while循环。

for-in循环

如果明确的知道循环执行的次数或者是要对一个容器(例如列表list、字典dict等,这些知识点后面内容会介绍)进行迭代,那么我们推荐使用for-in循环。Python中for-in循环的一般格式如下,其中,for-in循环中的else是Python相比于其他编程语言的一个特点,当循环体正常结束时会走else中的执行体。(一般情况下我们不使用else。)

 for 循环变量 in 循环终止条件:
 循环体
 else:
 循环体正常结束时的执行体

熟悉C或Java的朋友应该知道,当进行已知次数循环时,C或Java会使用类似“for (i=0; i<n; i++) {}”的代码,而Python是不支持这种for循环的,但Python为我们提供了range()方法这个内置函数,利用range()方法,我们可以使用for-in循环来实现已知次数的循环。

range()方法在Python中的定义如下:range(start, stop[, step])。根据传参方式可以有三种不同的用法,可以很灵活地获取到我们所需要的整数序列。

1、传一个参数。例如range(5),获取的是0,1,2,3,4这5个数,传n就是从0到n-1这n个数。

2、传两个参数。例如range(1, 5),获取的是1,2,3,4这4个数,包括开头,不包括结尾。事实上,传一个参数时只是省略了0,range(5)实际上就是range(0, 5),只是当第一个参数为0时我们一般都会省略。

3、传三个参数。我们有时并不是需要连续的整数,例如要获取范围内的奇数,就可以使用第三个参数来设置步长,range(1, 5, 2),获取的是1,3这2个数,步长为2表示每隔两个数取一次。

有了range的辅助之后,我们就可以使用for-in循环进行已知次数的循环了。现在有如下需求:计算1-100这100个数的和,并输出结果。

与分支结构if语句一样,循环结构也是可以嵌套的。我们利用for-in循环的嵌套打印出九九乘法表。

while循环

当我们不知道循环次数时,使用for-in循环就不那么合适了,这时我们一般会使用Python中的另一种构造循环的方法——while循环。while循环通过一个能够产生或转换出布尔值的表达式来控制循环,只要表达式的值为True就进入循环体,直至表达式的值为False结束循环。Python中while循环的一般格式如下。(一般情况下我们不使用else。)

while 循环判断条件:
 循环体
else:
 循环判断条件为False时执行

现在有这样一个需求:一个整数从1开始,如果当前是奇数就乘2,如果当前是偶数就加1,直到该数大于20为止,输出整个过程。这里我们使用while循环配合if语句实现。

break、continue关键字在循环语句中的应用

在循环结构中,有时我们并不希望按照正常的循环条件结束循环,而是希望在某些条件下跳过循环甚至结束循环,这个时候就需要break和continue这两个关键字的帮忙了。

continue关键字的作用是告知Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

我们看一个简单的例子,循环0-7这8个数,输出其中除6以外的7个数。以下代码中,当number为6时,我们使用了continue语句,导致不执行后面的print()语句,而进行下一个循环number为7时的循环,这样就实现了不输出6的需求。

break关键字的作用是直接终止循环,即可以跳出for-in循环或while循环的循环体。注意,如果我们使用break终止循环,那么对应的for-in循环或while循环后面的else块将不再执行。

在上一节的猜数字游戏中,我们只允许输入一次,现在我们要求每个用户可以有5次猜数字的机会,每次都会提示猜的数字是大了还是小了,如果用户猜对或猜满5次则结束游戏。以下代码中,当用户猜对数字时,我们使用break,这样即使count<5的条件依然满足,循环也会被直接终止。

总结

以上内容介绍了循环结构的概念以及Python中循环结构for-in语句和while语句的使用方法。循环结构与分支结构一样,虽然基础但很重要,二者会伴随我们整个编程生涯。上述的示例代码中九九乘法表和猜数字游戏是两个不错的练手代码,可以自己动手写一下,加深对循环结构的理解和对for-in语句、while语句的熟练。感谢大家的关注,欢迎一起学习交流~

相关推荐

Python Flask 容器化应用链路可观测

简介Flask是一个基于Python的轻量级Web应用框架,因其简洁灵活而被称为“微框架”。它提供了Web开发所需的核心功能,如请求处理、路由管理等,但不会强制开发者使用特定的工具或库。...

Python GUI应用开发快速入门(python开发软件教程)

一、GUI开发基础1.主流GUI框架对比表1PythonGUI框架比较框架特点适用场景学习曲线Tkinter内置库,简单小型应用,快速原型平缓PyQt功能强大,商用许可专业级桌面应用陡峭PySi...

【MCP实战】Python构建MCP应用全攻略:从入门到实战!

实战揭秘:Python Toga 打造跨平台 GUI 应用的神奇之旅

在Python的世界里,GUI(图形用户界面)开发工具众多,但要找到一款真正跨平台、易于使用且功能强大的工具并不容易。今天,我们就来深入探讨一下Toga——一款Python原生、操作系统原...

python应用目录规划(python的目录)

Python大型应用目录结构规划(企业级最佳实践)核心原则模块化:按业务功能拆分,高内聚低耦合可扩展性:支持插件机制和动态加载环境隔离:清晰区分开发/测试/生产环境自动化:内置标准化的构建测试部署流...

Python图形化应用开发框架:PyQt开发简介

PyQt概述定义:PyQt是Python绑定Qt框架的工具集,用于开发跨平台GUI应用程序原理:通过Qt的C++库提供底层功能,PyQt使用SIP工具生成Python绑定特点:支持Windows/ma...

[python] 基于PyOD库实现数据异常检测

PyOD是一个全面且易于使用的Python库,专门用于检测多变量数据中的异常点或离群点。异常点是指那些与大多数数据点显著不同的数据,它们可能表示错误、噪声或潜在的有趣现象。无论是处理小规模项目还是大型...

Python、Selenium 和 Allure 进行 UI 自动化测试的简单示例脚本

环境准备确保你已经安装了以下库:SeleniumAllurepytest你可以使用以下命令安装所需库:pipinstallseleniumallure-pytestpytest示例代码下面的代...

LabVIEW 与 Python 融合:打造强大测试系统的利器

在现代测试系统开发领域,LabVIEW和Python各自凭借独特优势占据重要地位。LabVIEW以图形化编程、仪器控制和实时系统开发能力见长;Python则凭借丰富的库资源、简洁语法和强大数...

软件测试进阶之自动化测试——python+appium实例

扼要:1、了解python+appium进行APP的自动化测试实例;2、能根据实例进行实训操作;本课程主要讲述用python+appium对APP进行UI自动化测试的例子。appium支持Androi...

Python openpyxl:读写样式Excel一条龙,测试报表必备!

无论你是测试工程师、数据分析师,还是想批量导出Excel的自动化工作者,只需一个库openpyxl,即可高效搞定Excel的各种需求!为什么选择openpyxl?支持.xlsx格式...

Python + Pytest 测试框架——数据驱动

引言前面已经和大家介绍过Unittest测试框架的数据驱动框架DDT,以及其实现原理。今天和大家分享的是Pytest测试框架的数据驱动,Pytest测试框架的数据驱动是由pytest自...

这款开源测试神器,圆了我玩游戏不用动手的梦想

作者:HelloGitHub-Anthony一天我在公司用手机看游戏直播,同事问我在玩什么游戏?我和他说在看直播,他恍然大悟:原来如此,我还纳闷你玩游戏,咋不用动手呢。。。。一语惊醒梦中人:玩游戏不用...

Python单元测试框架对比(pycharm 单元测试)

一、核心框架对比特性unittest(标准库)pytest(主流第三方)nose2(unittest扩展)doctest(文档测试)安装Python标准库pipinstallpytestp...

利用机器学习,进行人体33个2D姿态检测与评估

前几期的文章,我们分享了人脸468点检测与人手28点检测的代码实现过程,本期我们进行人体姿态的检测与评估通过视频进行人体姿势估计在各种应用中起着至关重要的作用,例如量化体育锻炼,手语识别和全身手势控制...

取消回复欢迎 发表评论: