python while循环if_20170403Python控制流if、while、for语句学习

控制流if、while、for语句学习

if elif else语句

if语句是一种最常见的控制流语句类型。它用于判断一个条件,如果为True,则执行紧跟其后的代码块。

一条if语句可以跟上一个或多个elif块以及一个“滴水不漏”的else块(如果所有条件都为False)。

if ... :

Print(“”)

elif... :

Print(‘’)

...(Tab键缩进的一整块代码块)

elif... :

...

...

...

else...(条件判断True or False):

.....

....

....

如果任何一个条件为True,则其后的elif或else块就不会执行。对于用and或or组成的符合条件,各条件是按从左到右的顺序求值的,而且是短路的。

范例:

>>>a = 5, b = 7

>>>c = 8 , d = 4

>>>if ad:

Print(“Make it”)

Make it

在本例子中,比较运算c>d是不会被计算的,因为第一个比较运算为True。

for循环

For循环用于对集合(比如列表或元组)或迭代器进行迭代,for循环的标准语法是:

for value in collection:

#对value做一些处理

continue关键字 用于使for循环提前进入下一次迭代(即跳过代码块的剩余部分)。

看看下面这段代码,其功能是对列表中的整数求和并跳过None值。

>>> sequence = [1,2,None,4,None,5] #单词sequence:序列、数列

>>> total = 0

>>> for value in sequence:

if value is None :

continue #该次循环执行到此,不执行该循环(改代码块)剩下的total += value部分,提前进入下一次循环

total += value

>>> print(total)

12

>>>

break关键字用于使for循环完全退出。下面这段代码用于对列表的元素求和,遇到2就退出:

>>> sequence = [1,2,None,4,None,5]

>>> total = 0

>>> for value in sequence:

if value ==2 :

break

total += value

>>> print(total)

1

>>>

后面我们还会看到,如果集合或迭代器的元素是序列类型(比如元组或列表),那么还可以非常方便地将这些元素拆散成for循环语句中的多个变量:

for a,b,c in iterator: #for循环中一共有3个变量a , b , c,iterator:迭代器、迭代程序的意思

#做一些处理(前面按Tab键)

while循环

While循环定义了一个条件和一个代码块,只要条件不为false或者循环没有被break显示终止,则代码块将一直不断的执行下去:

>>> x = 256

>>> total = 0

>>> while x > 0 :

if total > 500 :

break

total += x

>>> print(x)

256

>>> print(total)

512

>>>

for循环和while循环的区别:

两者从表达能力上说是等价的,即两者能够完成的事情是一样的。

其次,由于for语句将初始化,循环条件和每次循环后对循环变量的修改放在一起,比较清晰直观。因此for语句常用于能够预先判断循环次数的循环或遍历中。如遍历一个数组,或者执行某操作若干次之类。此时用for语句较优。

while语句的历史更久,表达方式上更自由灵活,常用于无法事先判断循环次数的循环。譬如经典的计算C风格字符串的长度的代码,又如后根遍历二叉树的非递归实现。此时用while语句会使程序更清晰。

总之一句话,两者从表达能力上说是等价的,for语句常用于能够预先判断循环次数的循环或遍历中(比如遍历一个数组、列表、元组或者执行某操作若干次之类),while常用于无法事先判断循环次数的循环(比如计算字符串的长度的代码)。

pass

pass是Python中的空操作语句,它可以被用在那些没有任何功能的代码块中。由于Python是根据空白符划分代码块的,所以它的存在是很有必要的。

if x<0:

print(“negative”)

elif x==0:

#TODO:在这里放点代码

pass

else :

print(“positive”)

在开发一个新功能时,常常会将pass用作代码中的占位符:

def f(x,y,z):

#TODO:实现这个函数!

pass

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

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

相关文章

审计日志_Oracle审计日志过大?如何清理及关闭审计机制?

概述oracle 11g推出了审计功能&#xff0c;但这个功能会针对很多操作都产生审计文件.aud&#xff0c;日积月累下来这些文件也很多&#xff0c;默认情况下&#xff0c;系统为了节省资源&#xff0c;减少I/0操作&#xff0c;其审计功能是关闭的。这段时间发现审计占了比较多空间&…

windows7 python 指定源组播 10049_Python3组播通信编程实现教程(发送者+接收者)

一、说明1.1 标准组播解释通信分为单播、多播(即组播)、广播三种方式单播指发送者发送之后&#xff0c;IP数据包被路由器发往目的IP指定的唯一一台设备的通信形式&#xff0c;比如你现在与web服务器通信就是单播形式广播指发送者发送之后&#xff0c;IP数据包被路由器发给与其连…

servlet如何使用session把用户的手机号修改_SpringBoot源码学习系列之嵌入式Servlet容器...

1、前言简单介绍SpringBoot的自动配置就是SpringBoot的精髓所在&#xff1b;对于SpringBoot项目是不需要配置Tomcat、jetty等等Servlet容器&#xff0c;直接启动application类既可&#xff0c;SpringBoot为什么能做到这么简捷&#xff1f;原因就是使用了内嵌的Servlet容器&…

mybatisplus新增返回主键_第17期:索引设计(主键设计)

表的主键指的针对一张表中的一列或者多列&#xff0c;其结果必须能标识表中每行记录的唯一性。InnoDB 表是索引组织表&#xff0c;主键既是数据也是索引。主键的设计原则1. 对空间占用要小上一篇我们介绍过 InnoDB 主键的存储方式&#xff0c;主键占用空间越小&#xff0c;每个…

mysql 集群与主从_Mysql集群和主从

1、Mysql cluster: share-nothing,分布式节点架构的存储方案&#xff0c;以便于提供容错性和高性能。需要用到mysql cluster安装包&#xff0c;在集群中的每一个机器上安装。有三个关键概念&#xff1a;Sql节点(多个)&#xff0c;数据节点(多个)&#xff0c;管理节点(一个)&…

python四则运算_四则运算 python

java转换json需要导入的jar包&#xff0c;org&sol;apache&sol;commons&sol;lang&sol;exception&sol;NestableRuntimeException缺少相应jar包都会有异常,根据异常找jar包导入...... 这里我说下lang包,因为这个包我找了好半天: 我用的是: commons-lang…

mysql 字段排重_MySQL 根据单个、多个字段排重

情景是这样的 首先我们业务需要 在一张流水表中需要进行流水的记录 这个记录是从别的平台拉过来的数据 但是他们数据无唯一约束 即流水这样就很有可能出现单条数据重复的问题所以这种情况 用join的话 效率可能不是很大 所以就写了以下sql注意 排重后还需保留一个唯一有效的记录…

python开发框架 代码生成_我的第一个python web开发框架(31)——定制ORM(七)...

几个复杂的ORM方式都已介绍完了&#xff0c;剩下一些常用的删除、获取记录数量、统计合计数、获取最大值、获取最小值等方法我就不一一详细介绍了&#xff0c;直接给出代码大家自行查看。1 #!/usr/bin/env python2 #codingutf-834 from common importdb_helper567 classLogicBa…

mysql里边字符函数_mysql函数(一.字符函数)

一.字符函数1.LENGTH(str)字符长度函数&#xff1a;一个汉字为三个字符(1)查看某字符串的长度(比如名字)select LENGTH(sunchuangye); 结果&#xff1a;11(2)根据字符长度进行倒序(比如名字)select id,userName FROM t_user ORDER BY LENGTH(userName) DESC;2.CONCAT(str1,s…

redis缓存原理与实现_基于Redis实现范围查询的IP库缓存设计方案

点击上方“码农沉思录” 发现更多精彩我先说下结果。我现在还不敢放线上去测&#xff0c;这是本地测的数据&#xff0c;我4g内存的电脑本地开redis&#xff0c;一次都没写完过全部数据&#xff0c;都是写一半后不是redis挂就是测试程序挂。可以肯定的是总记录数是以千万为单位…

linux mysql提示1045_linux mysql ERROR 1045

介绍了一下安装MySQL后登陆MySQL时会遇到ERROR 1045 (28000): Access denied for user rootlocalhost (using password: NO) 这个错误&#xff0c;当时不知道真正的原因&#xff0c;搜索了一些网上的资料&#xff0c;测试验证了如何解决这个问题&#xff0c;但是一直不知道具体…

mysql原生库_Mysql数据库的一些简单原生sql语句

原生sql语句查询&#xff1a;select * from 表名 &#xff1a;查找表内所有数据&#xff0c; * 代表所有where 具体条件 :where作位查询sql语句条件&#xff0c;例 select * from 表名 where 字段名指定值order by 升降序&#xff1a;与desc和asc使用,通常以int类型字段进行升…

有向图生成树是如何画的_漫画:什么是最小生成树?

作者 | 小灰来源 | 程序员小灰————— 第二天 —————————————————首先看看第一个例子&#xff0c;有下面这样一个带权图&#xff1a;它的最小生成树是什么样子呢&#xff1f;下图绿色加粗的边可以把所有顶点连接起来&#xff0c;又保证了边的权值之和最小&a…

python经济_python生成器——懒到欠揍,但很经济

生成器的特点是工作到一半&#xff0c;就会停下来看别人干活直至有人踢它屁股&#xff0c;这时它才继续往下干活。实现这一功能的精髓要用到yield。生成器是一种特殊的迭代器&#xff0c;因此我们先来了解一下什么是迭代器。我们都知道著名的斐波那契数列&#xff1a;1、1、2、…

ue默认高亮mysql_UE设置打开文件的默认高亮语言

最近使用UE时&#xff0c;需要频繁地打开.ec文件&#xff0c;.ec文件参照的是C/C的语法&#xff0c;每次打开时&#xff0c;都需要在工具栏上点击“查看方式->C/C”。觉得很繁琐&#xff0c;于是想查找一下设置&#xff0c;让UE打开.ec文件时&#xff0c;默认使用的C/C语法高…

printf 指针地址_c语言对指针的理解

先来讲一下本人学指针的经历&#xff1a;大一的时候刚接触c语言对指针这东西真的是太迷了&#xff0c;感觉麻烦难懂不想其他语言一样。但是搞懂以后就被指针的魅力吸引甚至喜欢上c语言。不多讲&#xff0c;开始&#xff01;(文章可能有些长&#xff0c;但放心全是基础的东西&am…

mysql 命令 _Mysql常用命令行大全

7.1 一个建库和建表的实例1drop database if exists school; //如果存在SCHOOL则删除create database school; //建立库SCHOOLuse school; //打开库SCHOOLcreate table teacher //建立表TEACHER(id int(3) auto_increment not null primary key,name char(10) not null,address…

python进程监控 supervisor_使用Python的Supervisor进行进程监控以及自动启动

做服务器端开发的同学应该都对进程监控不会陌生&#xff0c;最近恰好要更换 uwsgi 为 gunicorn&#xff0c;而gunicorn又恰好有这么一章讲进程监控&#xff0c;所以多研究了下。结合之前在腾讯工作的经验&#xff0c;也会讲讲腾讯的服务器监控是怎么做的。同时也会讲下小团队又…

python 时分秒毫秒_python将时分秒转换成秒的实例

处理数据的时候遇到一个问题&#xff0c;从数据库里导出的数据是时分秒的格式&#xff1a;hh:mm:ss &#xff0c;现在我需要把它转换成秒&#xff0c;方便计算。原数据可能分两种情况&#xff0c;字段有可能是文本字符串类型的&#xff0c;也有可能是时间类型&#xff0c;他们的…

信息系统项目管理师论文优秀范文_软考 信息系统项目管理师备考指南

1&#xff0e;考试简介信息系统项目管理师考试作为全国计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试&#xff08;一般简称为“软考”&#xff09;的一个高级级别&#xff0c;是从2005年开始的&#xff0c;一共考了2次&#xff0c;即2005年5月&#xff0c;200…