3. Python中的分支判断、循环
本文利用的是Python 3.x版本,建议学习3.x版本
Python中的分支判断、循环
1. 分支条件判断
1.1 比较操作
以下是数之间常见的比较操作,例如5>3
就是数学意义上的比较,5
是大于3
的,所以这个式子的值是True
。如何比较,根据两个数之间的符号判断即可。这里要注意的是!=
是不相等的意思,==
是相等的意思。例如5==3
这显然是不对的,所以式子的值是False
# i j是变量名
i > j
i >= j
i < j
i <= j
i == j
i != j
1.2 逻辑操作
not a #如果a是True则 结果为False,反之同理
a and b #同时为True时,结果为True
a or b #至少一个为True,结果为True
在布尔值之间进行运算,之前说数据类型的时候也说过。我们说了例如5>3
这样的比较的式子的值是布尔值,也就是说可以将式子进行逻辑运算。例如
5>3 and 5==3
#相当于True and False结果是False
下面是测试结果
1.3 控制流,分支
计算机可以进行自动化操作,因为可以按照我们给定的条件判断执行,所以分支判断是必不可少的。简单来说就是,如果条件A成立,那么做些什么,不成立做些什么,例如如果今天下雨,我就不出门。
最简单的条件判断语句如下,有几个地方容易出错,条件后要用冒号,if
条件块里的代码要进行缩进,4
个空格,如果了解其他语言的同学应该知道,很多语言的代码块是靠大括号{}
来标识的。为什么要有代码块?代码块内的代码的层次是一样的。举个例子,如果不区分代码块,那么如果if
判断条件成立后,代码究竟要执行到哪里?所以当条件成立时,执行这个if
后的代码块内的内容。一定要注意缩进,不然在py
中会出错的。当然现在的代码编辑器多数都很智能,在写完冒号后敲击回车,就可以自动缩进4
个空格,我用的VScode
就是这样的,很方便。
#如果<条件>为True,则执行if块
#里的操作,注意缩进和冒号!!
if <条件>:
操作1
操作2
……
#实例
x = 6
if x>3 and x<8:
print("hello")
#结果会打印出hello
接下来稍微复杂,就是if else
,意思是如果if
判断的条件成立(结果为True
),则执行if
代码块内的代码,如果不成立则执行else
代码块内的代码。简单来说就是如果条件成立,则执行if
代码块内的代码,否则执行else
内的代码。else
和if
一样也要加冒号以及代码块的缩进。
#先执行if的<条件>查看是否为True,
#如果为True则进入if块,不会进入
#else,如果为False则进入else,不进入if
if <条件>:
操作1
操作2
……
else:
操作1
操作2
……
#实例
x = 6
if x > 7:
print(1)
else:
print(2)
#结果会打印出2
接下来是多条件判断,以上的判断都是单条件,非此即彼的判断。多条件判断可以用多个条件来判断,先查看条件1
是否成立,如果成立则进入代码块执行,如果条件1
不成立,继续看条件2
是否成立……多条件用elif
也要加冒号以及代码块缩进。
# 多重条件,先看是否能进if,
# 如果没进则继续判断是否能进elif……
# 如果都没进,且有else的话,进入else
if <条件1>:
操作1
操作2
……
elif<条件2>:# elif可以有多个
操作1
操作2
……
else:# else可以没有
表达式
表达式
……
#实例
x = 6
if x > 10:
print(1)
elif x > 7 and x < 9:
print(2)
elif x > 4 and x < 7:
print(3)
else:
print(4)
#结果会打印出3
这里再说一下多重条件和多个if
的区别,在多重条件中,一旦某一条件成立,那么之后的代码就不会执行了,就不会再去判断之后的条件了。
if <条件1>:#每个条件都要判断
操作
if <条件2>:#每个条件都要判断
操作
if <条件3>:#每个条件都要判断
操作
if <条件1>:#如果条件1成立,不再判断后面的条件
操作
elif <条件2>:
操作
elif <条件3>:
操作
嵌套条件判断,不建议过深的嵌套
if <条件1>:
if <条件2>:
操作
else:
操作
else:
操作
练习一下,要求用户从控制台输入两个float数(x,y),要给出提示(例如:请输入数x),判断x y的大小,如果相等则输出相等。如果x大则输出x大,如果x小则输出x小。如果x大于y时,如果y不等于0,则输出x/y的数值。
x = float(input("请输入数x:"))
y = float(input("请输入数y:"))
if abs(x-y)<1.0e-9:
print("x,y相等")
elif x > y:
print("x大于y")
if abs(y)>1.0e-9:
print("x/y=",x/y)
else:
print("x小于y")
解释一下abs(x-y)<1.0e-9
,abs
是求绝对值函数,当x
和y
的差值小于1^(-9)
时,就认为x
和y
是相等的,这是因为浮点数的表示是有误差的,用==
来比较很危险,所以只要在我们需要的精度内相等即可。
2. 循环
2.1 while loop
当我们需要执行大量相似的操作时,这时循环就派上用场了,首先说一下while
循环。
while <条件>:#注意冒号和4个空格的缩进
操作
……
如果<条件>
为True
,则执行while
块里的所有操作,然后继续检查<条件>
是否为True
,一直重复块里的表达式,直到<条件>
为False
,如下例子
n = 0
while n < 5:
print(n)
n = n + 1
2.2 for loop
for
循环,相对于while
更加确定执行的次数,while
根据条件来确定是否执行,而for
通常是给定了执行的次数。
for <变量> in range(<一些数字>):
<表达式>#注意冒号和4个空格的缩进
……
#实例
for v in range(6):
print(v)
#结果会打印0-5
sum = 0
for i in range(101):
sum = sum + i
#求0-100的和
相当于每次把值赋予给变量
,然后在代码块内部可以使用这个变量
,
2.3 range(start,stop,step)
默认的参数是start=0
,代表从哪个数开始,step=1
,代表步长,意味着每次增加多少,数的范围是0~stop-1
mysum = 0
for i in range(7,10):
mysum += i
print(mysum)
#求7 8 9的和
mysum = 0
for i in range(5,11,2):
mysum += i
print(mysum)
#求5 7 9的和
2.4 break
break
表示立即退出循环,跳过剩下在块里的表达式,仅仅退出最里层的循环!简单来说就是给一个条件,当这个条件成立时,退出循环,经常和if
搭配使用。
mysum = 0
for i in range(5,11,2):
mysum += i
#当mysum等于5的时候,退出循环
if mysum == 5:
break
musum += 1
print(mysum)
2.5 for和while的比较
for
- 知道迭代的次数
- 可以通过
break
提前结束循环 - 使用计数器,因为有个
变量
可以帮助计数 - 可以用
while
循环来重写for
循环
while
- 迭代次数无限制
- 可以通过
break
提前结束循环 - 可以使用计数器,但是得提前初始化,并且每次得更新
- 可能没法用
for
循环重写while
到此为止有了判断、循环、输入、输出后,就可以写一些简单的程序了
如果觉得不错,可以分享~,可以关注公众号~
3. Python中的分支判断、循环的更多相关文章
- python中的is判断引用的对象是否一致,==判断值是否相等
python中的is判断引用的对象是否一致,==判断值是否相等 a = 10 b = 20 list = [1,2,3,4,5] print(a in list) print(b not in lis ...
- javascript中的分支判断与循环
分支判断与循环 分支结构 单一选择结构(if) 二路选择结构(if/else) 内联三元运算符 ?: 多路选择结构(switch) var condition = true; if (conditio ...
- Python中的条件判断、循环以及循环的终止
条件判断 条件语句是用来判断给定条件是否满足,并根据判断所得结果从而决定所要执行的操作,通常的逻辑思路如下图: 单次判断 形式 if <判断条件>: <执行> else: &l ...
- python GC、分支、循环
内存管理 1.变量无须事先声明,也不需要指定类型 2.python编程中一般无须关心变量的存亡,一般也不用关心内存的管理 3.python使用引用计数记录所有对象的引用计数 当对象引用数变为0,他就可 ...
- python中if语句和循环语句
//2019.12.05 python循环控制结构(一)控制循环结构 1-1 程序的判断语句与组合1.对于python的控制结构主要有以下三大类:(1)分支结构(2)循环结构(3)异常处理 2.pyt ...
- js中的分支与循环
一.js的分支结构 js的分支结构包括:if-else结构.多重if结构.嵌套if结构和switch-case结构 1.if-else结构 1.结构的写法: if(判断条件){ //条件为 ...
- SSE图像算法优化系列十六:经典USM锐化中的分支判断语句SSE实现的几种方法尝试。
分支判断的语句一般来说是不太适合进行SSE优化的,因为他会破坏代码的并行性,但是也不是所有的都是这样的,在合适的场景中运用SSE还是能对分支预测进行一定的优化的,我们这里以某一个算法的部分代码为例进行 ...
- python中的if判断语句
判断(if)语句 目标 开发中的应用场景 if 语句体验 if 语句进阶 综合应用 01. 开发中的应用场景 生活中的判断几乎是无所不在的,我们每天都在做各种各样的选择,如果这样?如果那样?……  ...
- Python中splitlines方法判断文本中一行结束除了回车换行符是否还有其他字符?
Python中splitlines([keepends])方法用于返回由原字符串中各行组成的列表,在行边界的位置拆分. 如果keepends=True,结果列表中包含行边界,否则不包含 行边界的字符. ...
随机推荐
- pgsql数据库应用两点注意
今天在写一个sql脚本时遇到了两个问题,记录一下. 1,pgsql中没有select top n语句,可以用limit n代替. 2,pgsql可以在定义函数存储过程时使用变量,但要注意函数定义中的函 ...
- ubuntu16.04 查看系统可用内存
free -m 查看内存情况 (单位MB) mem 行显示了从系统角度看来内存使用的情况, total是系统可用的内存大小, 数量上等于系统物理内存减去内核保留的内存. buffers和cach ...
- java虚拟机全集(31篇文章)
深入理解java虚拟机系列 深入理解Java虚拟机笔记---内存区域 深入理解Java虚拟机笔记---判断对象是否存活 深入理解Java虚拟机笔记---垃圾收集算法 深入理解Java虚拟机笔记---垃 ...
- 用 jQuery 实现简单倒计时功能
问题场景:假设某个活动截止时间给定了,现在需要开发一个页面可以自动刷新距离活动截止时间还剩多少天? <!DOCTYPE html> <html xmlns="http:// ...
- Java对象简单实用(计算器案例)
对 Java中的对象与属性,方法的使用,简单写了个案例 import java.util.Scanner; class Calculste { int a; //定义两个整数 int b; Strin ...
- Laravel5.1学习笔记21 EloquentORM 集合
Eloquent: Collections Introduction Available Methods Custom Collections Introduction All multi-resul ...
- Slow HTTP Denial of Service Attack 漏洞解决办法
编辑 删除 问题名称: Slow HTTP Denial of Service Attack 问题URL http://10.238.*.*:58*** 风险等级: 高 问题类型: 服务器配置类 漏洞 ...
- oracle创建临时表空间、用户表空间、创建用户关联表空间、授权等
1.创建临时表空间 CREATE TEMPORARY TABLESPACE test_temp TEMPFILE 'C:\oracle\product\10.1.0\oradata\orcl\test ...
- WinRT ListView间隔变色(二)
上文说到,WinRt中,我们不能在Style的Setter使用Binding.这个问题其实从SL5之前,一直都不可以.但是,为了使用强大的Binding,人们也一直想使用各种方法来达到Binding ...
- 三维重建PCL:点云单侧面正射投影
终于把点云单侧面投影正射投影的代码写完了,为一个阶段,主要使用平面插值方法,且只以XOY平面作为的正射投影面.有些凑合的地方,待改进. 方法思路:使用Mesh模型,对每一个表面进行表面重建.借助Ope ...