第六节 运算符二 (逻辑运算符,位运算符,运算符的优先级)

好久没有写博客了
摆了好一阵子
开学了该支棱支棱了
这节课呢是接着上节课没讲完的运算符接着讲的
大致就讲一下
逻辑运算符
位运算符
运算符的优先级
然后中间穿插一点题目

先来讲一下逻辑运算符

逻辑运算符

在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------------------------------------------------------------------------------------------

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值