好久没有写博客了
摆了好一阵子
开学了该支棱支棱了
这节课呢是接着上节课没讲完的运算符接着讲的
大致就讲一下
逻辑运算符
位运算符
运算符的优先级
然后中间穿插一点题目
先来讲一下逻辑运算符
逻辑运算符
在Python中,我们会用到下面这些逻辑运算符运算符 | 含义 | 用法 | 结合方向 |
---|---|---|---|
and | 逻辑与 | op1 and op2 | 左到右 |
or | 逻辑或 | op1 or op2 | 左到右 |
not | 逻辑非 | not op | 右到左 |
下面通过题目来练习一下逻辑运算符的使用,也有助于更好的理解逻辑运算符
课堂练习 一:写评语
题目描述:输入某学生成绩 score,根据成绩好坏输出相应评语。如
果成绩在大于等于 90,输出“Excellent”;如果成绩在大于等于 80
分且小于 90 分,输出“Good”;如果成绩大于等于 60 分且小于 80
分,输出“Pass”;成绩小于 60 分,输出“Fail”。
这个题,通过题目的描述,我们可以知道需要使用三个if选择语句,其次
在第二句和第三局的题干中,都用到了且字,从这里可以知道,需要用到逻辑运算符中的逻辑与,也就是and
下面是代码:
score = int(input())
# 如果成绩在大于等于 90,输出“Excellent”
if score >= 90:
print("Excellent")
# 如果成绩在大于等于 80分且小于 90 分,输出“Good”
if score >= 80 and score < 90:
print("Good")
# 如果成绩大于等于 60 分且小于 80分,输出“Pass”
if score >= 60 and score < 80:
print("Pass")
# 成绩小于 60 分,输出“Fail”
if score < 60:
print("Fail")
来看下第二题
课堂练习二:判断闰年
编写一个程序,判定输入的年份 year 是否是闰年,如果是则
输出 year 是闰年;如果不是则输出 year 是平年。
(判断闰年的条件:能被4整除且不能被100整除 或 能被400整除)
样例输入1:
2008
样例输出1:
2008 是闰年
样例输入2:
1900
样例输出2:
1900 是平年
样例输入3:
2000
样例输出3:
2000 是闰年
这一题,我们需要用到if–else语句,因 为题目中要求如果不是闰年的话还需要输出 year是平年
然后从括号中的提示中能够知道判断闰年的条件
也是从这里知道,这一题我们需要用到逻辑运算符中的逻辑与和逻辑或,也就是 and 和 or
下面是代码
year =int (input ()) # 从键盘读入年份
# 判断闰年的条件:能被4整除且不能被100整除 或 能被400整除
if year%4==0 and year%100!=0 or year %400==0:
print(f"{year}是闰年")
else :
print(f"{year}是平年")
拓展:
在Python中,f-string 是一种方便的字符串格式化语法,它允许在字符串中插入变量值或表达式的结果。这种语法以字母"f"开头,紧跟在字符串前面,其中要插入的变量或表达式则用大括号 {} 括起来。在你提供的例子中,{year} 是一个占位符,它将被变量 year 的值替换。所以这个语句会打印出形如 “year是闰年” 的字符串,其中的 year 是变量的值。
下面开始位运算符的学习
位运算符
位运算符比较难,考的几率不高,一般是了解即可运算符 | 说明 | 运算法则 |
---|---|---|
& | 按位与运算 | 两个操作数的二进制表示,只有对应位都为1,结果位才为1,否则为0 |
| | 按位或运算 | 两个操作数的二进制表示,只有对应位都为0,结果位才为0,否则为1 |
^ | 按位异或运算 | 当两个操作数的二进制表示相同(同时为0或同时为1)时,结果为0,否则为1 |
~ | 按位取反(按位非)运算 | 将操作数中对应二进制中的1修改为0,0修改为1 |
<< | 左移位运算 | 将一个二进制操作数向左移动指定的位数,左边(高位端)溢出的位被丢弃,右边(低位端)的空位用0补充。相当于乘2 |
>> | 右移位运算 | 将一个二进制操作数向右移动指定的位数,右边(低位端)溢出的位被丢弃,而当填充左边(高位端)的空位时u,如果最高位是0(正数),则左侧空位填入0,;如果最高位是1(负数),则左侧空位填入1。相当于除以2 |
下面是给大家画的图解
接下来是各运算符的优先级
运算符的优先级
各运算符的优先级与数学中的大致相同,左右也一样 若低优先级的运算符要在高优先级的运算符之前运算,需要用小括号框起来类型 | 说明 | 优先级 |
---|---|---|
** | 幂 | 高 |
~ + - | 取反 正号 负号 | ^ |
* / % // | 算术运算符 | | |
+ - | 算术运算符 | | |
<< >> | 位运算符中的左移和右移 | | |
& | 位运算符中的按位与 | | |
^ | 位运算符中的按位异或 | | |
| | 位运算符中的按位取反 | | |
< <= > >= != == | 比较运算符 | 低 |
---------------------------------------------------------------------------------------------End------------------------------------------------------------------------------------------