总结
今天是学习python的第二天, 每天都会接触到新的东西, 今天学习了运算符和if语句, 学习过程中还是可以听懂,但是感觉思维模式被以前所学的东西禁锢了, 练习的时候敲代码第一反应是无从下手,并且敲出代码后总感觉自己是错的, 我相信这就是大多数小白一开始都会面临的问题吧,但是随着自己的练习有所改变,多练习、多总结、一点点积累。
1. 数学运算符
python中常用的运算符: 数学运算符、比较运算符、逻辑运算符、赋值运算符
-
数学运算符:+(加)、-(减)、*(乘)、/(除)、%(取余、取模)、//(整除)、**(幂运算)
- +、-、*、/ 和数学中的加减乘除一样
- %取余(求余数) 10 % 3: 求 10 除以 3 的余数, 余数为1
应用一:判断一个数是否能被另一个数整除
应用二:取一个数的低位数 - //(整除)求商,商向小取整
应用一:去掉低位数,保留高位数 - ** (幂运算) x ** y(求x的y次方)
2. 比较运算符
- 比较运算符:==(等于)、!=(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)
- 所有的比较运算符的运算结果都是布尔
- python中的比较运算符支持表示范围的练习方式(别的语言不支持)
3. 逻辑运算符
-
逻辑运算符:and(逻辑与运算)、or(逻辑或运算)、not(逻辑非运算)
- and(逻辑与运算)
应用场景:要求多个条件同时满足的是就将多个条件用and链接,相当于生活中的并且
运算规则:两个都是True结果才是True,否则结果是False - or(逻辑或运算)
应用场景:多个条件中只要有一个条件满足的时候就使用or将多个条件链接在一起,相当于生活中的或者
运算规则:两个都是False结果才是False, 只要又一个是True, 结果就是True - not(逻辑非运算)
应用场景:对某一个条件进行否定
运算规则:不是真就是假,不是假就是真
- and(逻辑与运算)
4. 逻辑运算符扩展
-
短路操作
- 逻辑与的短路操作:表达式1 and 表达式2 中如果表达式1的结果是False, 那么表达式2对应的代码不执行
- 逻辑或的短路操作:表达式1 or 表达式2 中如果表达式1的结果是True, 那么表达式2对应的代码不执行
-
运算对象不是布尔值
- 表达式1 and 表达式2 - 如果表达式1的布尔值是True, 整个与运算的结果是表达式2; 如果表达式1的布尔值是False, 整个与运算的结果是表达式1
- 表达式1 or 表达式2 - 如果表达式1的布尔值是False, 整个与运算的结果是表达式2; 如果表达式1的布尔值是True, 整个与运算的结果是表达式1
5. 赋值运算符
-
赋值运算符:=、+=、-+、/=、%=、//=、**=
-
重要结论
- 所有的赋值运算符的功能都是用来给变量赋值的, 没有计算结果.(所有的赋值运算都没有结果)
- 所有的赋值运算符左边都必须是变量
-
运算规则
-
=
变量 = 数据
-
+=、-+、*=、/=、%=、//=、**=
变量+=数据 - 先将变量中保存的数据取出来, 和右边的数据进行加法运算, 将计算结果重新赋值给变量
注意:这里的变量必须先赋值
-
-
运算符的优先级
- 数学运算符>比较运算符>逻辑运算符>赋值运算符
- ** > *、/、%、// > +、-
- 有括号先算括号里面的
6. if分支结构
-
流程控制
- 顺序结构(默认) - 代码从上往下一条一条的执行, 每条代码只执行一次
- 分支结构 - 根据条件去执行或者不执行某些代码
- 循环结构 - 让代码重复执行
-
分支结构
-
if单分支结构 - 满足条件执行某个操作, 条件不满足的时候对应的操作不执行
语法:
if 条件语句: 代码段
说明:if - 关键字, 固定写法
-
条件语句 - 任何有结果的表达式(除了赋值语句以外的表达式), 比如: 数据、已经赋值过的变量、运算表达式、函数调用表达式
-
- 固定写法(注意输入法)
代码段 - 和if保持一个缩进的一条或者多条语句(满足条件才执行的代码)
执行过程:先判断田间语句的结果是否为True, 如果为True就执行代码段, 否则代码段不执行
-
-
if双分支结构 - 满足条件执行某个操作, 条件不满足的时候执行另外的操作
语法:
if 条件语句: 代码段1(条件满足要执行的代码) else: 代码段2(条件不满足要执行的代码)
-
if多分枝结构 - 根据不同的条件执行不同的操作(条件之前满足: 其中一个条件满足了, 另外的条件绝对不会满足)
语法:
if 条件语句1: 代码段1 elif 条件语句2: 代码段2 elif 条件语句3: 代码段3 ... else: 代码段N
-
作业
1.print(100 - 25 * 3 % 4)
应该输出什么? (B)
2.下列哪种说法是错误的(A)。
3.下列表达式的值为True的是(B)。
4.Python不⽀持的数据类型有(A)。
5.(多选)n = 6784,以下能够获取到7 的⽅法有(C、D)。
6.运⾏以下程序,当从键盘上输⼊12,运⾏结果是(B)。
7.下列表达式的运算结果是(D) 。
1.查看变量中数据的类型的函数名是(type)。
2.已知 x = 3 == 3 ,执⾏结束后,变量x的值为(True)。
3.已知 x = 3 ,那么执⾏语句 x += 6 之后,x的值为(9)。
4.表达式 3 ** 2 的值为(9),表达式 3 * 2 的值为(6),表达式 4 ** 0.5 的值为(2)。
1.写出判断⼀个数是否能同时被2和5整除的条件语句, 并且打印对应的结果。
num = int(input('请输入一个数'))
if num % 2 == 0 and num % 5 == 0:
print(True)
else:
print(False)
2.写出判断⼀个数是否能够被2或者5整除,但是不能同时被2或者5整除的条件语句, 并且打印对应
的结果。
num = int(input('请输入一个数:'))
if num % 2 == 0 or num % 5 == 0 and num % 10 != 0:
print(True)
else:
print(False)
3.假设今天的上课时间为15678秒,编程计算今天上课时间是多少⼩时,多少分钟,多少秒;以‘XX
时XX分XX秒’的⽅式表示出来。
例如:100秒表示成 0时1分40秒
num = 15678
hour = (num // 3600)
min = (num % 3600 // 60)
sec = (num % 60)
print(hour,'时',min,'分',sec,'秒')
4.定义两个变量保存⼀个⼈的身⾼和体重,编程实现判断这个⼈的身材是否正常!
公式: 体重(kg) / (身⾼(m)的平⽅值 ) 在18.5 ~ 24.9之间属于正常。
输出格式: 是否正常:True/False
weight = int(input('请输入体重:'))
height = int(input('请输入身高:'))
if 18.5 <= weight/height**2 <= 24.9:
print('正常')
else:
print('不正常')
5.根据输入的成绩的范围打印及格
或者不及格
grade = int(input('请输入成绩:'))
if grade >= 60:
print('及格')
else:
print('不及格')
6.根据输入的年纪范围打印成年
或者未成年
,如果年龄不在正常范围内(0~150)打印这不是人!
。
age = int(input('请输入年龄'))
if age < 18:
print('未成年')
elif 18 <= age <=150:
print('成年')
else:
print('不是人')
7.输入两个整数a和b,若a-b的结果为奇数,则输出该结果,否则输出提示信息a-b的结果不是奇数
。
a = int(input('请输入整数'))
b = int(input('请输入整数'))
if (a - b) % 2 == 1:
print(a - b)
else:
print('不是奇数')