第三讲Python运算符


在这里插入图片描述

Python运算符的分类

在这里插入图片描述

1.算数运算符

运算符描述
+
-
*
/
%返回除法的余数
**幂次
//返回商的整数部分

需要注意的:

  • 除的计算结果是浮点数。
  • 取余的除法和取商的整数的除法都是向下取整。
  • 如果想同时得到商和余数,用divmod(x,y),得到的结果是一个元组:(x//y,x%y)。
  • 因为计算机运算时转为二进制运算,如果我们对运算结果的浮点数有要求,就需要使用Python 标准库中提供了decimal 这个模块来解决这个问题。
    2.比较运算符
运算符描述
==比较值是否相等
!=比较值是否不相等
>大于
<小于
>=大于等于
<=小于等于
  • 比较运算符中不同的数据类型是无法做比较的。
  • 比较运算符返回的是布尔值。
  • ‘==’、’!=’、’<=’、’>='符号不能分开来写。
  • 字符串与字符串进行比较时, 比较的是ASCII码,并且是分开逐个比较。
  • 连续比较时,可按顺序拆分比较,并进行与运算。

3.赋值运算符

运算符描述实例
=赋值运算符c=a+b
+=加法赋值运算符c+=a等同于c=c+a
-=减法赋值运算符c-=a 等效 c=c-a
*=乘法赋值运算符c*=a 等效 c=c*a
/=除法赋值运算符c/=a 等效 c=c/a
%=取余数赋值运算符c%=a 等效 c=c%a
**=幂赋值运算符c**=a 等效 c=c**a
//=取整除赋值运算符c//=a 等效 c=c//a
  • 赋值是将右边的变量值赋给等号左边的变量。
  • python中不支持‘a++’、'a–'语法。
  • 赋值运算符不能分开写。
    4.逻辑运算符
运算符表达式描述
anda and b逻辑与,a与b都为True则返回为True,其余返回False
ora or b逻辑或,a与b只要有一个为True则返回为True,a与b都为False则返回False
notnot a逻辑非,当a为True, not a则为False

5.位运算符

运算符描述
&按位与:两者都为1才为1,否则为0
|按位或:只有一个为1则为1,否则为0
^按位异或:两者相等则为0,否则为1

6.成员运算符

运算符描述实例
in判断某个值是否在指定序列中,在则返回Truea在b序列中,如果a在b序列中,就返回True
not in判断某个值是否在指定序列中,不在则返回Truea不在b序列中,如果a不在b序列中,就返回True

7.身份运算符
身份运算符是用于比较两个对象的存储单元

运算符描述实例
is判断两个对象的内存地址是否一致,是则返回Truea is b, 如果id(a)等于id(b),is返回结果1
is not判断两个对象的内存地址是否不一致,不是则返回Truea is not b, 如果id(a)不等于id(b),is not 就返回结果1
  • ‘is’ 用于判断两个变量的引用是否为同一个内存地址 (可使用 id() 查看),’==’ 用于判断两个变量的值是否相等
    8.三门运算符
  • python中三目运算符的表达方式为:条件为真时的结果 if 判段的条件 else 条件为假时的结果。

#运算符的优先级
下表列出了从最高到最低优先级的所有运算符。优先级高的运算符优先计算或处理,同级别的按从左往右的顺序计算(赋值运算符 除外,它是按从右往左的顺序)。

运算符描述
**指数(最高优先级)
* / % //乘 除 取余 整除
+ -加 减
<= < > >=比较运算符
== !=比较运算符
= %= /= //= -= += *= **=赋值运算符
is is not身份运算符
in not in成员运算符
not or and逻辑运算符

作业

作业1

name = "amy"
teacher_logic = ["bob","tony","Lisa","Steven"]
if name in teacher_logic:
   print('amy 在逻辑大家庭')
else:
   print(' amy 不在...好难过')

在这里插入图片描述

作业2

ax’<’xa’ 为True,字符串比较时,比较的是其对应的ASCII值,并且逐个进行比较,'a’在ACSII码表中为97,'x’为120,‘a’确实小于’x’,所以返回True。

作业3

以下程序如果输入666执行那个语句?为什么?

temp = input('请输入:')
if temp == 'Yes' or 'yes':
    print('if执行了!')
else:
    print('else执行了!')

程序执行if语句,因为根据运算符的优先级顺序,赋值运算符的优先级高于逻辑运算符,所以先将输入的字符串进行比较,得到False,然后在与’yes’进行逻辑判断,'yes’始终为True,所以判断结果始终为True,故不管输入什么都执行的是if语句

作业4

is 与==的区别?
'=='是比较运算符,是对两个变量进行比较值是否相等, ‘is’ 用于判断两个变量的引用是否为同一个内存地址 (可使用 id() 查看)。

作业5

from decimal import Decimal
a = int(input('请输入a的数值:'))
b = int(input('请输入b的数值:'))
if a != 0 and b != 0:
    print(Decimal(a)/Decimal(b))
else:
    print(a*b)

作业6

a = input('请输入a的数值:')
b = input('请输入b的数值:')
print(a if a > b else b)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
1. 编写程序,判断一个数字是否为偶数 ```python num = int(input("请输入一个数字: ")) if num % 2 == 0: print(num, "是偶数") else: print(num, "是奇数") ``` 2. 编写程序,输入一个三角形的三边长,判断该三角形是否合法,并判断其类型(等边、等腰或一般三角形) ```python a = float(input("请输入三角形第一条边长: ")) b = float(input("请输入三角形第二条边长: ")) c = float(input("请输入三角形第三条边长: ")) if a + b > c and a + c > b and b + c > a: if a == b == c: print("这是一个等边三角形") elif a == b or b == c or a == c: print("这是一个等腰三角形") else: print("这是一个一般三角形") else: print("这不是一个三角形") ``` 3. 编写程序,输入一个年份,判断该年份是否为闰年 ```python year = int(input("请输入一个年份: ")) if year % 4 == 0 and (year % 100 != 0 or year % 400 == 0): print(year, "是闰年") else: print(year, "不是闰年") ``` 4. 编写程序,输入一个字符,判断该字符是否为字母或数字或其他字符 ```python ch = input("请输入一个字符: ") if ch.isalpha(): print(ch, "是字母") elif ch.isdigit(): print(ch, "是数字") else: print(ch, "是其他字符") ``` 5. 编写程序,输入一个整数,判断它的正负性 ```python num = int(input("请输入一个数字: ")) if num > 0: print(num, "是正数") elif num < 0: print(num, "是负数") else: print(num, "是零") ``` 6. 编写程序,输入两个整数,输出它们的和、差、积、商 ```python a = int(input("请输入第一个整数: ")) b = int(input("请输入第二个整数: ")) print("和为:", a + b) print("差为:", a - b) print("积为:", a * b) if b != 0: print("商为:", a / b) else: print("除数不能为0") ``` 7. 编写程序,输入三个数,按从小到大的顺序输出 ```python a = int(input("请输入第一个数: ")) b = int(input("请输入第二个数: ")) c = int(input("请输入第三个数: ")) if a > b: a, b = b, a if a > c: a, c = c, a if b > c: b, c = c, b print("从小到大排序:", a, b, c) ``` 8. 编写程序,输入一个成绩,输出其对应的等级(优、良、、及格、不及格) ```python score = float(input("请输入成绩: ")) if score >= 90: print("优") elif score >= 80: print("良") elif score >= 70: print("") elif score >= 60: print("及格") else: print("不及格") ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值