day002--运算符和分支结构

运算符和分支结构

Python支持的运算符:*数学运算符、比较运算符、逻辑运算符、赋值运算符、位运算

1,数学运算符

数学运算符有:+(加)、-(减)、(乘)、/(除)、%(取余、取模)、//(整除)、**(幂)。
① 其中的+、-、
、/ 和数学中的 +、-、×、÷的功能一模一样。

例:
print(2 + 5)
print(2 - 5)
print(2 * 5)
print(2 / 5)

② %(取余、取模)
使用格式:x % y - 求x除以y的余数。
应用场景:判断一个数是否能够被另外一个数整除(余数是否是0);取整数低位数。

例:
print(15 % 3)      =>余数为零
print(20 % 5)      =>余数为零

num = 892193
print(num % 100)    =>取一个数的后两位数即对100取余

③ //(整除)
使用格式:x // y - x除以y的结果向小取整。
应用场景:去除一个数低位数。

例:
num = 27383
print(num // 10)      =>2738
print(num // 100)     => 273
print(num // 1000)    =>27

④ **(幂)
使用格式:x ** y - 求x的y次方。

例:
print(2 ** 3)          => 8
print(25 ** 0.5)       => 5.0
print(27 ** (1/3))     => 3.0

2,比较运算符

比较运算符有:==(等于)、!=(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于);注意所有的比较运算符的运算结果都是布尔值。

例:
print(5 == 5)             => True
print(5 != 5)             => False
print(10 % 2 == 0)        => True
print(1 + 1 == 2)         => True
print(10 > 5)             => True
print(10 <= 10)           => True
print(10 < 10)            => False
age = 12
print(18 <= age <= 30)    => False
print(0 < age < 18)       => True

3, 逻辑运算符

逻辑运算符有:and(逻辑与运算)、or(逻辑或运算符)、not(逻辑非运算)
① and(逻辑与运算)
应用场景:如果要求多个条件同时满足,这个时候多个条件使用and连接。相当于生活中的“并且”。

例:写出判断指定的数是否能同时被37整除的条件。
num = 14
print(num, '是否能够同时被3和7整除:', num % 3 == 0 and num % 7 == 0)

② or(逻辑或运算)
应用场景:如果要求多个条件只要有一个条件满足就行,这个时候多个条件用or连接;相当于生活中的“或者”。

例:写出判断一个数是否能够被3或者7或者5整除的条件。
num = 11
print(num, '是否能够被3或者7或者5整除:', num % 3 == 0 or num % 5 == 0 or num % 7 == 0)

③ not(逻辑非运算)
应用场景:如果要对一个条件进行否定,就使用not。

例:
age = 19
print(age > 18)
print(not age > 18)
print(age <= 18)

4,逻辑运算符的扩展

① 短路操作
逻辑与运算的短路操作:如果第一个条件是False,那么第二个条件对应的语句不会再执行;
逻辑或运算的短路操作:如果第一个条件是True,那么第二个条件对应的语句不会再执行。
② 数据的布尔测试(掌握)
在Python中任何类型的数据都可以转换成布尔。转换规则:任何为零为空的值都会转换成False,其他都是True。
③ 运算对象不是布尔值
在python中任何类型的数据都可以作为逻辑运算符的运算对象。
数据1 and 数据2 - 如果数据1的布尔值是True, 结果就是数据2; 如果数据1的布尔值是False, 结果是数据1。
数据1 or 数据2 - 如果数据1的布尔值是True, 结果就是数据1; 如果数据1的布尔值是False, 结果是数据2。
not 数据1 - 如果数据1的布尔值是True, 结果是False; 如果数据1的布尔值是False, 结果就是True。

例:
result1 = 7 and 8
print(result1)                => 8
print(1 or 2)                 => 1

5,赋值运算符

赋值运算符有:=、+=、-=、*=、/=、%=、//=、**=。
赋值运算符的作用:给变量赋值,不会产生结果(数据)。
① “ =” 右边的数据赋给左边的变量。(=的左边必须是变量)。
② “+= ” 将变量中的值取出来和右边的变量进行加法运算,然后将运算的结果重新赋值给变量。

6,运算符的优先级

① 运算符优先级从高到低:数学运算 > 比较运算 > 逻辑运算 > 赋值运算;
② 数学运算符优先级:** 高于 *、/、%、// 高于 +、- 。

7,流程控制

定义:
流程控制指的是控制程序的执行顺序。
分类:
① 顺序结构(默认):代码从上往下一条一条的按顺序执行;
② 选择/分支结构:根据条件选择执行某个操作 (if语句);
③ 循环结构:让代码重复执行。(for循环、while循环)。

8,if分支结构

用途:
如果满足某个条件就执行某个操作,条件不满足的时候对应的操作不执行。
语法:
if 条件语句:
(代码段前空一段)代码段
说明:
① if - 关键字,固定写法;
② 条件语句 - 任何有结果的表达式(不能是赋值语句);
③ 代码段 - 和if保持一个缩进的一条或者多条语句; 满足条件才会执行代码;
④ 先判断条件语句的布尔值是否为True,如果是就执行代码段,否则代码段不执行。

例:如果指定的数是偶数就打印'偶数',否则不打印
num = 90
if num % 2 == 0:
    print('偶数')

9,if双分支结构

用途:
满足条件执行某个操作,条件不满足的时候执行另外一个操作。
语法:
if 条件语句:
(代码段前空一段)代码段1
else:
(代码段前空一段)代码段2
说明:
程序先判断条件语句的布尔值是否为True,如果是执行代码段1,否则执行代码段2。

例:根据输入的数字的性质,打印'奇数'或者'偶数'。
num = int(input('请输入一个整数:'))
if num % 2 == 0:
    print('偶数')
else:
    print('奇数')
2;写程序判断一个三位数是否是回文数。
num = 101
left = num // 100
right = num % 10
if left == right:
    print('回文数')
else:
    print('不是回文数')

猜你喜欢

转载自blog.csdn.net/lijianmingweibo/article/details/112900562
今日推荐