python的基本运算符有哪些(运算符与表达式)

运算符就是专门用于告诉程序执行特定运算或逻辑操作的符号。表达式是指由常量、变量和运算符组成的一个算式。编写程序对数据进行处理,其实处理就是对数据实施各种各样的运算,搞懂运算符与表达式是我们编写程序的基础性工作,本次讲课笔记通过案例讲解各种运算符的用法以及正确书写python表达式的注意事项。

一、算术运算符(Arithmetic Operator)
  • Python中的算术运算符就是用来处理四则运算的符号,也是最简单和最常用的运算符号。
1、列表说明

python的基本运算符有哪些(运算符与表达式)(1)

python的基本运算符有哪些(运算符与表达式)(2)

2、注意事项
  • 实除“/”,无论被除数和除数是否是整数,结果都是浮点数。

python的基本运算符有哪些(运算符与表达式)(3)

  • 整除“//”,如果被除数与除数都是整数,结果就是一个整数,但是只要其中一个是浮点数,那么结果就是浮点数。

python的基本运算符有哪些(运算符与表达式)(4)

  • 在进行取模(%)运算时,运算结果的正负取决于模数(%右边的数)的符号,与被模数(%左边的数)的符号无关。

python的基本运算符有哪些(运算符与表达式)(5)

  • 注意运算优先级,∗ ∗ → − ( 负 ) → ∗ , / , / / , % → , − **\rightarrow -(负) \rightarrow*,/,//, \% \rightarrow ,-∗∗→−(负)→∗,/,//,%→ ,−。 如果要改变运算次序,那么需要加括号。

python的基本运算符有哪些(运算符与表达式)(6)

3、案例演示任务1、成绩处理

输入三科STB、SQL、Python的成绩,计算SQL与Python的成绩差以及三科的平均分。

  • Python语言是动态类型语言,无须像静态类型语言如Java一样需要先声明后使用。因此一个Python程序包含三个部分:输入部分、处理部分和输出部分,其中,处理部分是一个程序的核心,涉及解决问题的方法和步骤,即算法,在处理部分就会用到运算符、表达式与控制结构。
  • 编写程序 - 成绩处理.py

python的基本运算符有哪些(运算符与表达式)(7)

# -*- coding: utf-8 -*-

"""

功能:成绩处理

"""

#输入部分

stb = float(input('输入STB成绩:'))

sql = float(input('输入SQL成绩:'))

python = float(input('输入Python成绩:'))

# 处理部分

difference = python - sql

average = (stb sql python) / 3

# 输出部分

print('======================')

print('STB', 'SQL', 'Python', sep='\t')

print(stb, sql, python, sep='\t')

print('======================')

print('Python与SQL成绩差:{}'.format(difference))

print('三门课程的平均成绩:{}'.format(average))

  • 输出三门功课成绩,使用sep参数指定制表符“\t”作为分隔符
  • 运行程序,查看结果

python的基本运算符有哪些(运算符与表达式)(8)

  • 大家可以看到,平均成绩的小数位数也实在太多了,如何设置平均分的小数位数?比如保留到小数点后面两位。利用Python内置函数round()就可以搞定。

python的基本运算符有哪些(运算符与表达式)(9)

课堂练习:带余除法
  • 使用整除(//)与取模运算(%)

python的基本运算符有哪些(运算符与表达式)(10)

任务2、打印购物小票

指定折扣,输入购买商品单价与数量,输入顾客交费,结算时打印购物小票,计算此次购物总金额,顾客交费,商店找补,以及购物积分。

  • 编写程序 - 打印购物小票.py

# -*- coding: utf-8 -*-

"""

功能:打印购物小票

"""

# 输入部分

discount = 0.8 # 8折优惠

price1 = float(input("输入运动衫单价:"))

amount1 = float(input('输入运动衫购买数量:'))

price2 = float(input("输入网球鞋单价:"))

amount2 = float(input('输入网球鞋购买数量:'))

price3 = float(input("输入网球拍单价:"))

amount3 = float(input('输入网球拍购买数量:'))

payment = float(input('顾客实际交费:'))

# 处理部分

money = (price1 * amount1 price2 * amount2 price3 * amount3) * discount # 计算购物金额

change = payment - money; # 计算找钱

points = int(money // 33); # 计算购物积分

# 输出部分

print('***************消费单**************')

print('%-8s%-6s%-6s%-6s' %('购买物品', '单价', '数量', '金额'))

print('%-8s%-8.2f%-8d%-8.2f' %('运动衫', price1, amount1, price1 * amount1))

print('%-8s%-8.2f%-8d%-8.2f' %('网球鞋', price2, amount2, price2 * amount2))

print('%-8s%-8.2f%-8d%-8.2f' %('网球拍', price3, amount3, price3 * amount3))

print('***********************************')

print('折扣:{}折'.format(discount * 10))

print('消费总金额:¥{}'.format(round(money, 2)))

print('实际交费:¥{}'.format(payment))

print('找钱:¥{}'.format(round(change, 2)))

print('本次购物所获得的积分:{}'.format(points))

  • 运行程序,查看结果

python的基本运算符有哪些(运算符与表达式)(11)

任务3、计算利息

假设你在银行存了1元钱,且银行存款利率达到了100%。问:如果银行每天都给你发利息,并且你把每天获得的利息做复利,经过一年后,你会多富有?

  • 先算一下一年发一次利息的情况( 1 1 1 ) 1 = 2 \displaystyle(1 \frac{1}{1})^1=2(1 11)1=2元,即一年后你有2元钱。
  • 再来算一下一年发两次利息并采用复利的情况( 1 1 2 ) 2 = 2.25 \displaystyle(1 \frac{1}{2})^2=2.25(1 21​)2=2.25元
  • 最后算银行每天都发利息并采用复利的情况
  • ( 1 1 365 ) 365 = 2.718281828 \displaystyle(1 \frac{1}{365})^{365}=2.718281828(1 3651​)365=2.718281828元
  • 如果银行每分每秒都在付利息,我们也每分每秒复利,1年之后,我们的财富实际上是接近于e的,即2.718281828。
  • 编写程序 - 计算利息.py

python的基本运算符有哪些(运算符与表达式)(12)

  • 运行程序,查看结果

python的基本运算符有哪些(运算符与表达式)(13)

python的基本运算符有哪些(运算符与表达式)(14)

  • n的值越大,fv的值就越趋近于e
任务4、由卡号计算幸运数

输入会员卡号(假定4位数)、分解出各位数字,再把各位数字相加,得到幸运数字,然后利用幸运数字去抽奖。编写程序,如何由卡号得到幸运数字。

难点:如何把一个四位数拆分?解决问题的思路:例如n = 34623426 = 3 * 1000 4 * 100 6 * 10 2

除了个位数2之外,其余的各位数都能被10整除,那就意味着2是3462除以10的余数,怎么表示?3462 % 10 = 2

个位数得到之后,我们希望去掉个位数,把四位数变成三位数,然后就可以采用类似的方法得到三位数的末尾数,其实就是四位数的十位数;那么怎么才能得到这样的三位数呢?3462 // 10 = 346

346 = 3 * 100 4 * 10 6 怎么得到末尾数呢? 346 % 10 = 6然后又把346变成34,怎么做?346 // 10 = 34

34 = 3 * 10 4,怎么得到末尾数呢?34 % 10 = 4然后又34变成3,怎么做?34 // 10 = 3

python的基本运算符有哪些(运算符与表达式)(15)

  • 编写程序 - 由卡号计算幸运数.py

# -*- coding: utf-8 -*-

"""

功能:由卡号计算幸运数

"""

# 输入部分

id = int(input("输入会员卡号(四位数):"))

# 处理部分

x1 = id % 10 # 取个位数

x2 = id // 10 % 10 # 取十位数

x3 = id // 100 % 10; # 取百位数

x4 = id // 1000 # 取千位数

lucky_number = x1 x2 x3 x4 # 计算幸运数

# 输出部分

print('你的幸运数:{}'.format(lucky_number))

  • 运行程序,查看结果

python的基本运算符有哪些(运算符与表达式)(16)

  • 俗话说:条条道路通罗马。要获取四位整数的各位数字,还有其它方法,读者可以尝试不同的解决方法。下面给出另外一种处理方法。

python的基本运算符有哪些(运算符与表达式)(17)

  • 基于幸运数的计算,我们可以编写幸运抽奖小程序
  • 编写程序 - 幸运抽奖资格.py

# -*- coding: utf-8 -*-

"""

功能:幸运抽奖资格

"""

import random

id = int(input("输入会员卡号(四位数):"))

x1 = id % 10 # 取个位数

x2 = id // 10 % 10 # 取十位数

x3 = id // 100 % 10; # 取百位数

x4 = id // 1000 # 取千位数

lucky_number = x1 x2 x3 x4 # 计算幸运数

print('你的幸运数:{}'.format(lucky_number))

target = random.randint(1, 36)

print('目标幸运数:{}'.format(target))

if lucky_number == target:

print('恭喜你获得幸运抽奖资格!')

else:

print('谢谢惠顾,希望下次有幸!')

python的基本运算符有哪些(运算符与表达式)(18)

思考题: 改善程序
  • 如果输入的卡号不是四位数,程序会出现什么异常情况?
  • 应该如何改善这个程序,让它只处理输入四位数的情况?
  • 我们这个拆分四位整数的方法能否推广到任意多位数呢?
任务5、计算机存储单位
  • 计算机存储单位一般用bit、B、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB、CB、XB……来表示。其中,位 bit (比特)(Binary Digits) 存放一位二进制数,即 0 或 1,最小的存储单位。
  • 不同存储单位的换算关系

1 Byte (B) = 8 bit

1 Kilo Byte (KB) = 1024 B

1 Mega Byte (MB) = 1024 KB

1 Giga Byte (GB)= 1024 MB

1 Tera Byte (TB)= 1024 GB

1 Peta Byte (PB) = 1024 TB

1 Exa Byte (EB) = 1024 PB

1 Zetta Byte (ZB) = 1024 EB

1 Yotta Byte (YB) = 1024 ZB

1 Bronto Byte (BB) = 1024 YB

1 Nona Byte (NB) =1024 BB

1 Dogga Byte (DB) =1024 NB

1 Corydon Byte (CB) = 1024 DB

1 Xero Byte (XB) = 1024 CB

  • 编写程序 - 计算机存储单位.py

python的基本运算符有哪些(运算符与表达式)(19)

  • 运行程序,查看结果

python的基本运算符有哪些(运算符与表达式)(20)

过去十年堪称是数据爆炸的十年。回顾2010年的行业报告时你会发现,2010年全球数据量刚刚突破1ZB,而2020年全球数据量预计将超过40ZB。面对数据量的指数级增长,存储市场可谓首当其冲。尤其在云计算、大数据、人工智能、5G、物联网、边缘计算大行其道的今天,数据如何存储的问题只是其一,数据价值如何深入挖掘更为突出。对于数据从存储到价值释放的转变,浪潮存储产品线总经理李辉认为,新数据时代已经到来。

二、赋值运算符(Assignment Operator)

赋值运算符的作用就是将常量、变量或表达式的值赋给某一个变量。它将运算符右边的值赋给左边的变量。

1、列表说明

python的基本运算符有哪些(运算符与表达式)(21)

2、注意事项
  • 在Python中可以通过一条赋值语句对多个变量进行赋值。
  • 在赋值运算符中,除了“=”,其它的都是特殊的赋值运算符,以“ =”为例,x = 3就相当于x = x 3,首先会进行加法运算x 3,再将运算结果赋值给变量x。其余的-=、*=、/=、%=赋值运算符都可依此类推。
3、案例演示任务1、一次对多个变量赋值

python的基本运算符有哪些(运算符与表达式)(22)

  • 多个变量赋相同的值
  • 多个变量赋不同的值
任务2、使用复合赋值运算符
  • 编写程序 - 演示复合赋值运算.py

python的基本运算符有哪些(运算符与表达式)(23)

  • 运行程序,查看结果

python的基本运算符有哪些(运算符与表达式)(24)

三、关系运算符(Relational Operator)

比较运算符用来对两个数值或变量进行比较,其结果是布尔类型的True或False。

1、列表说明

python的基本运算符有哪些(运算符与表达式)(25)

python的基本运算符有哪些(运算符与表达式)(26)

2、注意事项
  • 布尔型常量转换成整数:True -> 1;False -> 0

python的基本运算符有哪些(运算符与表达式)(27)

  • 整数转换成布尔型常量:非零整数 -> True;零 -> False

python的基本运算符有哪些(运算符与表达式)(28)

  • 空列表、空字典、空元素、空字符串转换成布尔型的False

python的基本运算符有哪些(运算符与表达式)(29)

  • 任何表达式都可以作为判断条件,对于数值型而言,零表示False,非零表示True;对于字符串而言,空字符串表示False,非空字符串表示True

python的基本运算符有哪些(运算符与表达式)(30)

python的基本运算符有哪些(运算符与表达式)(31)

3、案例演示
  • 利用关系运算符构建关系表达式,可以表示条件,用于选择结构和循环结构
任务1、年龄关卡
  • 年满18周岁,欢迎访问;未满18周岁,旁边凉快!
  • 编写程序 - 年龄关卡.py

python的基本运算符有哪些(运算符与表达式)(32)

# -*- coding: utf-8 -*-

"""

功能:年龄关卡

"""

age = int(input('输入你的年龄:'))

if age >= 18:

print('年满18周岁,欢迎访问!')

else:

print('未满18周岁,旁边凉快!')

  • 运行程序,查看结果

python的基本运算符有哪些(运算符与表达式)(33)

任务2、求解一元二次方程

python的基本运算符有哪些(运算符与表达式)(34)

  • 下面,我们只计算实数解,不去计算复数解,但要提示用户此方程没有实数解。
  • 编写程序 - 求解一元二次方程.py

# -*- coding: utf-8 -*-

"""

功能:求解一元二次方程

"""

from math import sqrt

a = float(input('a = '))

b = float(input('b = '))

c = float(input('c = '))

delta = b**2 - 4 * a * c

if delta >= 0:

x1 = (-b sqrt(delta)) / (2 * a)

x2 = (-b - sqrt(delta)) / (2 * a)

print('x1 = {}\nx2 = {}'.format(x1, x2))

else:

print('此方程没有实数解!')

  • 运行程序,查看结果

python的基本运算符有哪些(运算符与表达式)(35)

利用关系表达式可以表示一个简单条件,比如查找班上的男生,条件就是:性别 == “男”;查找成绩在90分以上的,条件就是:成绩 >= 90。但是,大家思考一个问题,如何要查找成绩在90分以上的男生,那么该如何将查询条件写成Python表达式呢?这就会用到Python的逻辑运算,包括非(not)、与(and)、或(or)。

四、逻辑运算符(Logical Operator)

逻辑运算符是用于对布尔类型的值或表达式进行操逻辑判断的符号,其返回值类型是布尔类型。

1、列表说明

python的基本运算符有哪些(运算符与表达式)(36)

  • 与运算真值表

python的基本运算符有哪些(运算符与表达式)(37)

  • 或运算真值表

python的基本运算符有哪些(运算符与表达式)(38)

  • 非运算真值表

python的基本运算符有哪些(运算符与表达式)(39)

2、注意事项
  • 三种逻辑运算的优先级别:not --> and --> or
3、案例演示任务1、闰年判断
  • 输入一个年份,判断它是闰年还是平年。
  • 闰年能被4整除且不能被100整除,或者能被400整除
  • 编写程序 - 闰年判断.py

# -*- coding: utf-8 -*-

"""

功能:闰年判断

"""

year = int(input('year = '))

if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:

print('{}是闰年。'.format(year))

else:

print('{}是平年。'.format(year))

  • 可以修改一下闰年判断条件的逻辑表达式,用到三种逻辑运算符
  • year % 100 != 0 等价于 not year % 100 == 0

python的基本运算符有哪些(运算符与表达式)(40)

  • 运行程序,查看结果

python的基本运算符有哪些(运算符与表达式)(41)

最后,小编想说:我是一名python开发工程师,整理了一套最新的python系统学习教程,想要这些资料的可以关注私信小编“01”即可(免费分享哦)希望能对你有所帮助

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页