闲话Python编程-循环

1. for循环

        Python的for语句有点特别,只能对序列和字符串进行处理,序列自然包括list、tuple和range对象。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 练习for语句def loop_for():names = ['Tom', 'Jack', 'Black']for name in names:print(name)s = 'abc'for c in s:print(c)for n in range(3):print(n)for n in range(0, 10, 3):print(n)def main():loop_for()if __name__ == '__main__':main()

2. break、continue和else

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 练习for语句def loop_for():names = ['Tom', 'Jack', 'Black']for name in names:print(name)s = 'abc'for c in s:print(c)for n in range(3):print(n)for n in range(0, 10, 3):print(n)def loop_continue():for num in range(2, 10):if num % 2 == 0:print('Found an even number:', num)continueprint('Found an odd number:', num)def loop_break_else():for n in range(2, 10):for x in range(2, n):if n % x == 0:print(n, 'equals', x, '*', n//x)breakelse:print(n, 'is a prime number')def main():loop_for()loop_continue()loop_break_else()if __name__ == '__main__':main()

        continue语句让执行流程直接跳到for循环下一步,break语句直接从for循环终止,而else比较有意思,是当for循环不是break终止而结束的,则流程会执行到else代码块。

        其它语言是没有for-else的,要实现这个else非得加一个布尔变量来判断,Python搞了一点语法糖,让开发人员稍微方便了一点。

3. while循环

        while后面是一个表达式,只要结果能成为布尔值就行。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 练习while循环def main():n = 10while True:print('n=', n)n -= 1if n <= 0:breaki = 0while i < 5:print('i=', i)i += 1if __name__ == '__main__':main()

        while一般两种常见用法:一种是直接while True,结束循环的控制条件全部放到while执行体;另一种就是while 【条件表达式】, 不满足条件时退出循环。

4. 结束语

        Python循环控制语法提供了for和while,基本和C/C++/Java差不多,但是细节上有区别,比如for循环对序列对象进行迭代,for循环支持else,这个是特有的。

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

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

相关文章

9.1 运用API创建多线程

在Windows平台下创建多线程有两种方式&#xff0c;读者可以使用CreateThread函数&#xff0c;或者使用beginthreadex函数均可&#xff0c;两者虽然都可以用于创建多线程环境&#xff0c;但还是存在一些差异的&#xff0c;首先CreateThread函数它是Win32 API的一部分&#xff0c…

第1篇 目标检测概述 —(4)目标检测评价指标

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。目标检测评价指标是用来衡量目标检测算法性能的指标&#xff0c;可以分为两类&#xff0c;包括框级别评价指标和像素级别评价指标。本节课就给大家重点介绍下目标检测中的相关评价指标及其含义&#xff0c;希望大家学习之后…

【中秋国庆不断更】HarmonyOS对通知类消息的管理与发布通知(上)

一、通知概述 通知简介 应用可以通过通知接口发送通知消息&#xff0c;终端用户可以通过通知栏查看通知内容&#xff0c;也可以点击通知来打开应用。 通知常见的使用场景&#xff1a; 显示接收到的短消息、即时消息等。显示应用的推送消息&#xff0c;如广告、版本更新等。显示…

keepalived的vip实现nginx节点的主备

nginx wget http://nginx.org/download/nginx-1.18.0.tar.gz tar zxvf nginx-1.18.0.tar.gzyum install -y gcc gcc-c pcre pcre-devel zlib zlib-devel openssl openssl-devel libnl3-develcd nginx-1.18.0 mkdir -p /usr/local/nginx #需要使用https&#xff0c;在编译时启用…

【中秋国庆不断更】OpenHarmony多态样式stateStyles使用场景

Styles和Extend仅仅应用于静态页面的样式复用&#xff0c;stateStyles可以依据组件的内部状态的不同&#xff0c;快速设置不同样式。这就是我们本章要介绍的内容stateStyles&#xff08;又称为&#xff1a;多态样式&#xff09;。 概述 stateStyles是属性方法&#xff0c;可以根…

机器人中的数值优化(十九)—— SOCP锥规划应用:时间最优路径参数化(TOPP)

本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考&#xff0c;主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等&#xff0c;本系列文章篇数较多&#xff0c;不定期更新&#xff0c;上半部分介绍无约束优化&#xff0c;…

Vue3父子组件数据传递

getCurrentInstance方法 Vue2中&#xff0c;可以通过this来获取当前组件实例&#xff1b; Vue3中&#xff0c;在setup中无法通过this获取组件实例&#xff0c;console.log(this)打印出来的值是undefined。 在Vue3中&#xff0c;getCurrentInstance()可以用来获取当前组件实例…

SoloX:Android和iOS性能数据的实时采集工具

SoloX&#xff1a;Android和iOS性能数据的实时采集工具 github地址&#xff1a;https://github.com/smart-test-ti/SoloX 最新版本&#xff1a;V2.7.6 一、SoloX简介 SoloX是开源的Android/iOS性能数据的实时采集工具&#xff0c;目前主要功能特点&#xff1a; 无需ROOT/越狱…

新型信息基础设施IP追溯:保护隐私与网络安全的平衡

随着信息技术的飞速发展&#xff0c;新型信息基础设施在全球范围内日益普及&#xff0c;互联网已经成为我们社会和经济生活中不可或缺的一部分。然而&#xff0c;随着网络使用的增加&#xff0c;隐私和网络安全问题也引发了广泛关注。在这个背景下&#xff0c;IP&#xff08;In…

简单工厂模式~

我们以生产手机作为应用场景展开讲解&#xff01; 手机是一个抽象的概念&#xff0c;它包含很多的品牌&#xff0c;例如华为&#xff0c;苹果&#xff0c;小米等等&#xff0c;因此我们可将其抽象为一个接口&#xff0c;如下所示&#xff1a; public interface tel {void pro…

Docker的学习记录

Docker是一个被广泛使用的开源容器引擎&#xff0c;基于Go语言&#xff0c;遵从Apache2.0协议开源。 docker的三个概念&#xff1a;容器、镜像和仓库。 镜像&#xff08;Image&#xff09;&#xff1a;镜像是Docker中的一个模板。通过 Docker镜像 来创建 Docker容器&#xff…

angular 在vscode 下的hello world

Angulai 是google 公司开发的前端开发框架。Angular 使用 typescript 作为编程语言。typescript 是Javascript 的一个超集&#xff0c;提升了某些功能。本文介绍运行我的第一个angular 程序。 前面部分参考&#xff1a; Angular TypeScript Tutorial in Visual Studio Code 一…

详细介绍Redis RDB和AOF两种持久化方式

RDB持久化 RDB是Redis的一种快照持久化方式&#xff0c;它将内存中的数据集都写入磁盘&#xff0c;生成一个RDB文件&#xff0c;RDB文件是一个经过压缩的二进制文件&#xff08;通常叫做数据快照&#xff09;&#xff0c;可以用于备份、迁移和恢复数据。 RDB的优点是快速、紧…

Java之线程池的详细解析

1. 线程池 1.1 线程状态介绍 当线程被创建并启动以后&#xff0c;它既不是一启动就进入了执行状态&#xff0c;也不是一直处于执行状态。线程对象在不同的时期有不同的状态。那么Java中的线程存在哪几种状态呢&#xff1f;Java中的线程 状态被定义在了java.lang.Thread.Stat…

【并发编程】ThreadPoolExecutor任务提交与停止流程及底层实现【新手探索版】

文章目录 1. ThreadPoolExecutor任务提交2. 线程池状态[这部分是难点呀]2.1. addWorker添加worker线程2.2. 内部类Worker2.3. runWorker():执行任务2.4. getTask():获取任务2.5. processWorkerExit():worker线程退出 3.3. 关闭线程池3.3.1. shutdown方法3.3.2. shutdownNow方法…

密码技术 (2) - 公钥密码

一. 前言 公钥密码的秘钥分为加密秘钥和解密秘钥&#xff0c;加密秘钥成为公钥&#xff0c;解密秘钥成为私钥&#xff0c;公钥和私钥的成对存在的&#xff0c;一对公钥和私钥称为密钥对。发送消息时&#xff0c;发送者用公钥对消息进行加密&#xff0c;接收者用私钥进行解密。从…

golang官方限流器rate

包名&#xff1a;golang.org/x/time/rate 实现原理&#xff1a;令牌桶 package mainimport ("context""fmt""testing""time""golang.org/x/time/rate" )func TestLimiter(t *testing.T) {// 第一个参数代表速率&#xff1…

工厂与观察者模式

工厂模式介绍 通过一个加工厂&#xff0c;在这个工厂中添加对应材料&#xff0c;我们就可以得到想要的东西&#xff0c;在程序设计中&#xff0c;这种模式就叫做工厂模式&#xff0c;工厂生成出的产品就是某个类的实例&#xff0c;也就是对象。 关于工厂模式一共有三种&#…

小程序与uniapp如何进行传参

小程序和uniapp都可以通过以下方式进行传参&#xff1a; query参数传递&#xff1a;在url中添加query参数&#xff0c;如在小程序中通过wx.navigateTo或wx.redirectTo跳转页面时可传递query参数&#xff0c;在uniapp中通过uni.navigateTo或uni.redirectTo跳转页面时也可以传递q…

Qt::图层框架-图片图层-序列图层-QGraphicsPixmapItem

二维矢量动画智能制作软件开发合集 链接&#xff1a;软件开发技术分享及记录合集 个人开发二维矢量动画智能制作软件界面如下&#xff1a; 目录 一、图片序列图层原理 二、图片序列图层代码实现 三、图片序列图层软件测试视频 结束语 一、图片序列图层原理 本软件的11种…