python学习day2
运算符
- 数学运算符:
+, - , * , /,% ,// , ** - 比较运算符:
<, >, >=, <=, ==, != - 逻辑运算符:
and(逻辑与):
grade = 3.9
score = 89
print('是否能拿奖学金:',grade > 3.5 and score >=9)
num=int(input('输入一个数:'))
print('能否同时被3和7整除:',num % 3 ==0 and num % 7 == 0)
or(逻辑或):
year=1426
print('是否是闰年:',(year % 4 == 0 and year % 100 != 0 )or year % 400 == 0)
not(逻辑非):
num = 88
print(not num % 21 == 0)
-
短路操作:
and 的短路操作: 条件1 and 条件2 - 如果条件1是False,那么条件2对应的代码不会执行
or 的短路操作; 条件1 or 条件2 - 如果条件1是True ,那么条件2不会执行。 -
运算对象不是布尔值
如果表达式的值不是布尔,就转换成布尔再判断。
怎么转:python中任何类型的数据都可以转换成布尔值,所有为0为空的值都会转换成False,其他值都是True -
赋值运算符
=、+=、-=、/=、//=、**=
所有的赋值运算符都是用来给变量赋值,赋值运算符左边必须是变量;
复合的赋值运算左边的变量必须是已经赋值过的变量
a *=2
print(a)
- 运算符优先级:
数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低) - *位运算:&(按位与)、|(按位或)、~(按位取反)、>>(右移)、<<(左移)
分支结构
- 流程控制
1)顺序结构 - 从上往下依次执行每一条语句(默认)
2)分支结构 - 根据条件选择性的执行代码(if语句)
3)循环结构 - 让代码重复执行(for循环、while循环) - 分支结构
if单分支结构 - 满足条件执行某个操作,不满足就不执行
语法:
if 条件语句:
代码段
说明: - if - 关键字,固定写法
2.语句条件 - 任何有结果的表达式:任何类型的数据、除赋值语句之外的运算符表达式
注意:if后边不能是赋值语句,除了赋值语句以外的所有表达式
3.冒号 - 固定写法。
(python中的冒号后面一半都需要换行后产生缩进来标识代码块)
4.代码段 - 和if保持一个缩进(按TAB)的一条或者多条语句;
在满足条件的时候才会执行的代码
执行过程:
先判断条件语句是否为Ture(如果不是布尔值就转换成布尔值再判断)
如果是Ture就执行代码,否则代码不执行
if 'abc':
pass
a = 100
if a % 3 + 2:
pass
if双分支结构 - 满足条件执行某个操作,条件不满足执行另外的操作
语法:
if 条件语句:
代码块1(满足条件要执行的代码)
else:
代码块2(不满足条件执行的代码)
执行过程:
先判断条件语句是否为Ture,若果是就执行代码块1否则就执行代码块2
TT = int(input('请输入一个整数:'))
if TT & 1 == 0:
print('偶数')
else:
print('奇数')
if多分支结构 - 根据不同的条件执行不同的操作
语法:
if 条件语句1:
代码块1
elif 条件语句2:
代码块2
elif 条件语句3:
代码块3
…
else:
代码块n
score = float(input('输入学生的绩点:'))
if score > 4:
print('一等')
elif 3.5 <= score:
print('二等')
elif score >= 3:
print('三等')
elif score >= 2.5:
print('四等')
else:
print('莫得着着')