基本概念
运算符:根据特定的算法对操作数执行运算, 并返回计算结果的符号
操作数:参与运算的对象
表达式:计算的式子
1.算术运算
+ 针对数字:加法。针对字符串:连接。针对复合型数据:合并。
- 减
* 针对数字:乘 。针对字符串:连接。
** 幂
/ 除(结果为浮点数)
// 求余取整(向下取整)
% 取模,返回除法的余数
注意
1./ // % 右侧的操作数不能为0
2.+ * 针对不同类型的值,会执行不同的运算
3.浮点数运算的精度问题
①可以采用round()四舍五入法
②使用decimal()
小练习
计算100以内的偶数和
sum = 0 for i in range(101): if i % 2 == 0: sum = sum +i print(sum)
案例:设计一个简单的四则运算器
#定义一个无限循环 while True: n1 = int(input("输入n1的值:")) #输入运算符 o = input("请输入[+ - * /]: ") n2 = int(input("输入n2的值: ")) #定义字典,不同的运算符,不同的计算方法 d = { '+' : n1+n2, '-' : n1-n2, '*' : n1*n2, '/' : n1/n2 } #输出结果,使用get方法读取字典的操作符 result = d.get(o,"运算符有误") #打印结果,以整数的形式打印结果 print("result: %d"%result) #输出空行 print() c = input("您是否继续?y/n: ") if c == 'y': print() continue elif c == 'n': break else: print("您输入有误")
2.赋值运算
语法
左值(参数、变量、对象的属性、对象的元素)= 表达式
形式
简单的赋值 =
附加操作赋值 +=(先相加后赋值)、-=、*=、/=、%=、//=、**=
3.比较运算
比较运算也称关系运算,有两个操作数
大小比较(数)
比较大小关系的两个操作数必须是类型相同的。如果是数字直接比较大小,如果是字符,第一个相同比较第二个。返回的结果为True或者False
小练:输入三个整数,比较数的大小,找出最大的数
x = int(input("请输入x: ")) y = int(input("请输入y: ")) z = int(input("请输入z: ")) if x > y and x > z : print("最大的数是x值为: %d"%x) elif y>x: print("最大的数是y值为: %d" % y) else: print("最大的数是z值为: %d" %z)
小练:输入三个数,将这三个数进行排序
x = int(input("请输入x: ")) y = int(input("请输入y: ")) z = int(input("请输入z: ")) if x > y : t = x x = y y = t if x>z: t = x x = z z = t if y>z: t = y y = z z = t print("请输出三个的大小: %d %d %d"%(x,y,z))
比较字符串的大小
如果区分大小写,小写一般大于大写。如果不区分大小写,建议使用upper()或lower()方法把字符串同一转换为大写或小写。
小练:输入三个字符串,比较字符串的大小
x = input("输入第一个字符串值为:") y = input("输入第二个字符串值为:") z = input("输入第三个字符串值为:") print(x) print(y) print(z) if x > y : #利用数组交换两个字符串 x,y=y,x elif x > z : x,z=z,x if y > z: y,z=z,y print(x) print(y) print(z)
相等比较
两个操作数不限制类型,如果类型不相同,则不相等,直接返回False。如果类型相同,在比较是否相同,如果相同则返回True.
小练:根据成绩单,输出平均分,输出最高分以及最高分学生名单,输出优秀学生名单
#通过字典定义成绩单 d={ "王五":89, "李四":56, "张三":66, "胡六":85 } sum = 0 max = 0 max_name = " " print("优秀学生名单:") for i in d : sum += d[i] if d[i] >= 85: #输出优秀学生的名单和成绩,名单是字符串表示,成绩是(两位浮点数表示) print(" %s(%.2f)"%(i,d[i])) if d[i] > max : max = d[i] max_name = i print() #输出平均成绩,成绩是(两位浮点数表示) print("平均分成绩:%.2f"%(sum/len(d))) #输出最高分的分数和名单,分数是两位浮点数表示,名单是字符串形式输出 print("最高分成绩:%.2f(%s)"%(d[i],i))