python运算符实践之三
【摘要】 算术运算符+ - * / % ** //加法运算 +和数学上的求和一致# 我们得到的值存到变量里一定不会错n = 1 + 1print(n) # 2n2 = True + False # 2 隐式类型转换print(n2)n3 = True + 1 # 布尔值和数字是可以运算的print(n3)n4 = "True" + 1 # 报错 字符串不支持算术运算如果是两个字符串的话,则会进行拼接(...
算术运算符
+
-
*
/
%
**
//
加法运算 +
和数学上的求和一致
# 我们得到的值存到变量里一定不会错
n = 1 + 1
print(n) # 2
n2 = True + False # 2 隐式类型转换
print(n2)
n3 = True + 1 # 布尔值和数字是可以运算的
print(n3)
n4 = "True" + 1 # 报错 字符串不支持算术运算
如果是两个字符串的话,则会进行拼接(注意这不是算术运算)
str1 = "字符串1" + "字符串2" # "字符串1字符串2"
str2 = "1" + "2" # 12
减法运算 -
和 + 一样,不能进行字符串的运算
print(2 - 1) # 1
print(2 - True) # 1
print(True - True) # 0
print(2 - "1") # 报错
乘除运算 * /
# 如果是数字的运算,乘法则进行正常的算术运算
print(2 * 3) # 6
# 如果是数字和字符串
print(2 * "字符串") # "字符串字符串"
print("2" * "字符串") # 报错
print(True * False) # 0 布尔值转换为num类型计算
除法运算会得到float类型。字符串不能参与到除法运算中,其他和乘法一致
取模运算 %
取模在很多地方都会用到,例如:是否能被某个值整除,所谓取模就是做除法取余数的操作 5 % 2 = 1
1 % 7 = 1
8 % 7 = 1
15 % 7 = 1
幂运算
求某个值的x次方
值 ** x
# 5的平凡
5 * 5
5 ** 2 # 5的2次方
# 5的立方
5 * 5 * 5
5 ** 3
除法取整
//
得到的结果会去最小的值,例如除法结果是5.9,取整结果就是5,例如除法结果是-5.1,取整结果是-6print(9 / 2) # 4.5
print(9 // 2) # 4
print(-9 / 2) # -4.5
print(-9 // 2) # -5
比较运算符
==
!=
>
>=
<
<=
所有的比较运算符返回的结果都是布尔值。所以一般比较运算都会作为if
的条件print(1 == 1) # True
print(1 != 1) # False
print(1 > 2) # False
print(1 < 2) # True
print(1 <= 2) # True
print(1 >= 2) # False
# 上面的操作只是为了了解对应的符号的使用,真实情况下不会这么写
逻辑运算符
and
or
not
分别代表与
或
非
and
必须左右两边都为True结果才是True,只要有一个条件为False,结果就是False
print(0 and 2) # 0 因为0转换成布尔值结果为False,已经可以判断and的结果了
print(1 and 2) # 2 因为前面的1为True,无法确定最终结果,所以最终结果被后者2控制
# and关系中前真取后,前假取前
or
只要有一个为True,结果就是True,必须都为False,结果才是False
print(not "1") # False
print(not 0) # True
print(not True) # False
# 把一个值转换成布尔值,除了可以使用bool() 也可以使用not not 值
a = 1
print(bool(a))
print(not not a)
not
如果值为True,则not后就是False,同理,如果为False,则not后就是True。not会有一个隐式的数据类型转换,可以把任意值转换相反的布尔值
# 假设我们成绩定义了几个档次 90分(包含90)以上是优秀 75(包含)-90(不包含)分是良好 60(包含)-75(不包含)是及格 60以下是不及格
# 实现一个用户输入一个分数 0 - 100的分数我们输出对应的等级
# 获取到用户输入的分数
score = float(input('请输入学生的分数:'))
# 判断分数是否在0-100之间,如果不在则直接退出程序不继续执行
if score < 0 or score > 100:
print('输入的分数有误,请重新输入')
exit()
# 判断分数等级
if score >= 90:
print("优秀")
elif score >= 75 and score < 90:
print('良好')
elif score >= 60 and score < 75:
print('及格')
else:
print('不及格')
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)