Python的算数运算、逻辑运算和分支语句
目录
一、算数运算
1、算数运算符
2、算数运算符的优先级
3、算数运算的同时赋值
4、关系运算符
二、逻辑运算
1、逻辑运算符
①与运算
②或运算
③非运算
④三种运算符的优先级
四、各个运算符的优先级
五、条件分支语句
1、分支语句初步
2、if的条件语句
3、if语句的嵌套
六、控制输出格式
一、算数运算
1、算数运算符
在Python中,支持很多种运算符,详见下表:
符号 | 意义 |
+ | 加法 |
- | ①减法 ②取相反数 |
* | 乘法 |
/ | 除法,但输出结果总为小数,即使能整除也是小数 |
% | 取模(求余数) |
// | 求商,结果是整数 |
** | 求幂 |
注意!在Python中,如果运算中出现了小数,那么输出的结果也将会是小数。
注意!在Python中,如果两个整数(结果必是整数)运算出现小数,则结果往小取整(比如两个结果一个是5.9一个是5.1,这两个都会被约为5)
2、算数运算符的优先级
第一级 | ** |
第二级 | * / // % |
第三级 | + - |
注意!如果我们记不住优先级的话,也可以用括号来指定计算顺序~~~
3、算数运算的同时赋值
a + = b 等价于 a = a + b(剩余的运算符同理)
4、关系运算符
在Python中,有六种关系运算符用于数值的比较:
含义 | 符号表示 |
等于 | == |
不等于 | != |
大于 | > |
小于 | < |
大于等于 | >= |
小于等于 | <= |
注意!用关系运算符进行比较出来的结果是布尔(bool)类型,成立为True,反之为False
注意!在关系运算符中1等于True,而0等于False
二、逻辑运算
1、逻辑运算符
在Python中,逻辑运算符用于表达式的逻辑操作,有 and or not 三种,这三个的操作结果都是True 或 False
①与运算
exp1 and exp2
当且仅当exp1和exp2的值都是True(或相当于True)时,结果为True(或相当于True)。
补充:那么上面说的相当于True/False是什么意思呢?
对于0,“”(空字符串),[](空列表),都相当于False(但除了0以外都不等于False)
对于非0的数,非空字符串,非空列表,都相当于True(但除了1以外都不等于True)
一定要注意!!!等于和相当于并不是两个相同的概念,我们现在举一个例子来让大家分辨清楚:
a = 1==True
b = 2==True
print(a)
print(b)
运行一下这两个结果,我们会发现第一个的结果是True,而第二个结果是False,这就再一次印证了对于一个非0的数字,它相当于True,但他不等于True!(另外一边同理)
②或运算
exp1 or exp2
只要有一方的值是True,整个的结果就是True(或相当于True)
③非运算
not exp
若exp的值是True(或相当于True),则结果是False(或相当于False)
④三种运算符的优先级
not > and > or(当然也可以用括号来决定运算顺序)
四、各个运算符的优先级
各个运算符之间也有优先级,我们下面会由高到低对其进行排序:
1、算数运算符
2、关系运算符
3、逻辑运算符
当然如果记不清楚就用括号解决(不愧是括号哥,太强辣(抹泪))~
五、条件分支语句
1、分支语句初步
众所周知啊,这个Python是严格的从上到下的执行语句的,但如果我们想要在某条件时,执行特定的语句,那么我们该怎么办呢?
没错嗷!就是使用我们的条件分支语句,顾名思义,就是根据不同的条件去走不同的路线,而我们这里就是指if语句!
而我们在if语句中,最常见到的三个关键字就是if、elif和else
我们先来看一个简单的例子:
a = int(input("请输入一个数字:"))
if a < 5 :
print("ok")
elif a > 5 :
print("no")
else :
print("???")
我们分别输入1、10、5,发现他会根据不同的数值返回出不同的结果
下面让我们来对一个例子进行解析:
在if、elif和else关键字后面的东西我们叫做逻辑表达式,而逻辑表达式会用冒号来结尾,而冒号后面的语句则是语句组,编辑器在执行if语句时,会先看看每一部分的逻辑表达式是否有满足条件的,如果遇到满足条件的,就执行对应的语句组,后面的就停止执行。
注意!:①逻辑表达式末尾一定要加上冒号
②我们可以添加多个elif,无上限。
③Python是缩进严格的,他会根据缩进来执行语句,这就意味着语句组和逻辑表达式不能都顶着左边,我们会举一个例子来证明它:
我们来仔细观察这两个例子的区别,他们虽然在代码上都是一样的,但是最后一行代码的“位置”不一样,第一个的最后一行会有空格,而这个空格就可以理解为我们所说的缩进。
我们来看一下这两个代码的运行结果:
①对于第一个代码,当我们输入10的时候,他会返回“verygood”字符串,当我们输入不是10的数字的时候,因为不符合if后面的条件语句,所以不会执行后面的语句组,所以什么都不会输出。
②对于第二个代码,如果我们输入10,他也会返回“verygood”字符串,但是当我们输入一个不是10的数字的时候,他就会返回good
(注:这里需要注意一下,①首先就是虽然在这个例子中,我们输入10后都得到了相同的字符串,但是其原理还是有一点不一样的,第一个是因为我们输入了和if语句后面的条件语句相符合的数值,执行了下面所有的语句,而第二个是在执行了输出very后,“跳出”了if语句,然后执行了和他同级的一个输出语句。)
注意!在上面我们提到了用空格or制表符来表示缩进,空格的话推荐用四个空格来表示。
2、if的条件语句
在上面我们提到了“相当于”True和False,了解到了他和相等(==)是两个概念,那么在if的条件语句中,我们可以很好的利用“相当于”这一性质。
if "mimimi" : #非空字符串,相当于True
print("yes!!!!!!!!!")
if [] : #空表,相当于False
print("okok")
我们可以把上面的代码放到自己的电脑上去运行,就会发现第一个会有输出结果,而第二个没有输出。
(这两个尽量分别运行,不建议同时多个if)(那么,我们可以用注释法把不想执行的部分多行注释掉,那么怎么多行注释呢?)
3、if语句的嵌套
嵌套,就类似于是套娃,我们可以在一个if语句里面再嵌入一个if语句,然后再在里面嵌入一个,然后再在里面嵌入一个,再在里面嵌入一个...........................
例子:
a = int(input("请输入一个数字:"))
if a > 5 :
if a < 10 :
print("这是一个大于五小于十的数字")
else :
print("这啥啊这?")
else :
print("这是一个小于五的数字")
六、控制输出格式
在说输出格式之前,我们先来了解一个小的概念,即字符串切片。
我们现在有一个字符串s,而s[x:y]就是截取从s[x]到s[y](不包含s[y]!!!!),而这个s[x:y]就是字符串切片。
a = "hello world"
b = a [2 : 7]
print ("截取之后:",b)
现在我们来了解一下字符串输出控制需要了解的一些控制符
控制符 | 含义 |
%s | 表示此处要输出一个字符串 |
%d | 表示此处需要输出一个整数 |
%f | 表示此处需要输出一个小数 |
%.nf | 表示此处需要输出一个小数,保留小数点后n位(四舍六入)(注意n前面有一个点(俺已经标红了)) |
注意!格式控制符只出现在字符串中!
简单小示例:
h = 1.899999999
name = "Sue"
print("My name is %s , l an %.4f m tall " % (name , h))
以上就是本节内容:)