当前位置:首页>python>合集篇--Python运算符与判断

合集篇--Python运算符与判断

  • 2026-09-02 20:11:12
合集篇--Python运算符与判断

3.5

合集篇--Python运算符与判断

目录:

1、Python数据类型转换

2、Python运算符

3、if选择判断结构

4、巩固if

本期内容信息量很大,小伙伴们可以先收藏,方便随时回看哦~

1

Python数据类型转换

(1)使用Python实现超市的收银系统

name = input('请输入您要购买商品的名称:')id = input('请输入你要购买的商品编号:')price = input('请输入您要购买的商品价格:')print(f'您购买了{name},商品编号为{id},商品价格为{price},欢迎下次光临')

以上程序虽然可以按照上图完成程序的正常输出,但是遗留了一个非常严重的问题:这个价格price变量无法参与数学运算(如买了两个奥利奥,应该是18.5 * 2)原因在于iput()方法返回的所有结果都是str字符串类型。

怎么解决以上问题呢?答:使用 数据类型转换

(2)了解Python数据类型

案例1:把用户输入的幸运数字,转换为整型

num = input('请输入您的幸运数字:')print(type(num))# 数据类型转换,把str字符串类型转换int类型print('_' * 20)num = int(num)print(type(num))

以上代码还可以简写为:

num = int(input('请输入您的幸运数字:'))print(type(num))

案例2:多重类型转换

# 1、整型转浮点类型 int => floatnum1 = 10print(float(num1))print(type(float(num1)))print('_' * 20)# 2、浮点类型转换为整型 float => int,浮点转整型,其小数点后的数据会丢失!!!num2 = 18.98print(int(num2))print('_' * 20)# 3、把字符串类型转换为整数或浮点类型str1 = '20'str2 = '18.98'print(type(int(str1)))print(type(float(str2)))

案例3:eval()方法的使用,把字符串中的数字转换为原数据类型

price = input('请输入您购买的商品价格:')print(eval(price))print(type(eval(price)))

str1 = '10' 经过eval(str1)转换为int类型

str2 = '18.88'经过eval()转换为float类型

2

Python运算符

(1)算术运算符

所谓的算数运算符就是我们日常生活中的加减乘除等等。

案例1:了解一下算术运算符

案例2:和其他编程语言不太相同的几个算术运算符

(2)算术运算符案例:求梯形的面积

知识点:用户输入、数据类型转换以及算术运算符

a = float(input('请输入上底:'))b = float(input('请输入下底:'))h = float(input('请输入高:'))s = (a + b) * h / 2print(f'梯形的面积为:{s}')

(3)赋值运算符

案例1:把某个值赋值给某个变量

num = 10print(num)

案例2:多个变量同时进行赋值操作

n = 5f = 10.88s = 'hello world'print(n)print(f)print(s)

简写为:

n, f, s = 5, 10.88, 'hello world'print(n)print(f)print(s)

案例3:多个变量赋相同的值

a = b = 10print(a, b)

(4)复合赋值运算符

复合赋值运算符=算术运算符 结合 赋值运算符

复合赋值运算符的计算顺序 = 先执行算术运算符,执行完毕后,把结果在赋值给左边的变量。

案例1:+=相加并赋值运算符

i = 1i += 1print(f'{i}')

案例2:综合案例

a = 9# 取余赋值运算符a %= 2print(f'{a}')b = 3# 幂赋值运算符b **= 2print(f'{b}')

(5)比较运算符

特别注意:当我们使用比较运算符对两个变量进行比较是,其返回一个布尔类型的值。

案例:两个数大小的比较

a = 10b = 20print(a > b)  # Falseprint(a < b)  # Trueprint(a >= b)  # Falseprint(a <= b)  # Trueprint(a == b)  # Falseprint(a != b)  # True

(6)逻辑运算符

not就是取反,只有一个表达式 not 表达式,如果表达式为True,则not以后就返回False。反之,则返回True。

案例:

a = 1b = 2c = 3print((a > b) and (b > c))  # Falseprint((a > b) or (b > c))  # Falseprint((a < b) and (b > c))  # Trueprint(not(a > b))  # True

(7)短路运算

print(3and4and5)print(5and6or7)4 > 3andprint('hello world')

在逻辑运算中,不一定逻辑运算符的两边都是纯表达式。也可以是数值类型的数据。Python把0、空字符串和None看成 False,其他数值和非空字符串都看成 True ,所以① 在计算aand b时,如果a是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果a是 True,则整个计算结果必定取决与 b,因此返回 b。

print(3and4)  # 4print(0and1)  # 0

② 在计算aorb时,如果a是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果a是 False,则整个计算结果必定取决于 b,因此返回 b。所以Python解释器在做布尔运算时,只要能提前确定计算结果,它就不会往后算了,直接返回结果。

print(6or7)  # 6print(6and7or8)  # 7

(8)运算符的优先级

什么是运算符的优先级?其实我们小学就已经接触过了,就是在一个表达式中,我们先算谁的问题。先算乘除,后算加减,有括号的先算括号里面的。

个人建议:① 不要把一个表达式写得过于复杂,如果一个表达式过于复杂,可以尝试把它拆分来书写;② 不要过于依赖运算符的优先级来控制表达式的执行顺序,这样可读性太差,应尽量使用()来控制表达式的执行顺序。

3

if选择判断结构

(1)if选择判断结果作用

在日常开发中,只要有需要进行条件判断的语句基本上都是选择判断结构。应用场景:如果年龄大于等于18岁,则可以正常上网。如果升级考试成绩大于60分,则可以顺利升级就业班。

(2)if选择判断结构的基本语法

if 条件判断:    则执行某段代码...print()

案例代码:

if True :    print('条件成立执行的代码1')    print('条件成立执行的代码2')# 下方的代码没有缩进到if语句块,所以和if条件无关print('我是无论条件是否成立都要执行的代码')

(3)if选择结构案例

需求:定义一个变量age = 18,判断这个变量是否大于等于18岁,如果满足条件,则可以上网。

案例1:直接定义判断,进行条件判断

age = 18if age >= 18:    print('年龄符合,可以上网')

案例2:上网吧案例升级版

age = int(input('请输入您的年龄:'))if age >= 18:    print('年龄符合,可以上网')

if选择原理图:学编程除了会写代码还不行,还要会画图(流程图)

(4)if...else...结构

基本语法:

if 条件判断:    当条件判断为True时,则执行这个语句段else:    当条件判断为False时,则执行这个语句段

案例:上网吧案例升级版,引入else

if...else结构原理图:

age = int(input('请输入您的年龄:'))if age >= 18:    print('年龄符合,可以上网')else:    print('年龄不符合,不能去网吧上网')

(5)if..,elif...else多条件判断结构

如果条件1成立,则执行语句段1如果条件2成立,则执行语句段2...当所有条件都不成立时,则执行else语句段中的内容

if 条件判断1:    如果此条件为True,则执行这个语句段elif 条件判断2:    如果此条件为True,则执行这个语句段elif ...:    ...else:如果以上所有条件判断都不满足时,则执行这个语句段

案例:

① 中国合法工作年龄为18-60岁,即如果年龄小于18的情况为童工,不合法;② 如果年龄在18-60岁之间为合法工龄;③ 大于60岁为法定退休年龄。if...elif..else结构原理图:

# 定义一个变量,接收用户输入的年龄age = int(input('请输入您的年龄:'))if18 <= age <= 60:    print('合法工作年龄')elif 18 > age:    print('年龄太小,不能用童工')elif 60 > age:    print('恭喜,您已经到达退休年龄')else:    print('请输入正确的年龄')

(6)if嵌套结构

基本语法:

if 外层条件:    # 如果条件为True,则执行以下语句段    if 内层条件判断:        # 如果内存条件为True,则执行以下语句段else:    # 如果条件为False,则执行以下语句段

嵌套结构看起来异常复杂,但是我们在编写时要遵循一个原则:先编写外层判断,所有语句编写完成后,在编写内层条件判断结构。

案例:

外层条件 ①是否有钱,有钱可以上车。 

内层条件 ②判断是否有空座位,如果有,则可以坐下。

"""根据条件(是否有钱)判断是否可以上车money = 0 没钱money = 1 有钱"""money = 1seat = 1if money == 1:    #有钱可以上车    print('有钱可以上车')    # if嵌套(seat = 1代表有空座,seat = 0代表没有空座)    if seat == 1:        # 有座位,可以坐下        print('有座位可以坐')    else:        # 没有座位,需要站着        print('没座位,需要站着回家')else:    #没钱,上不了车    print('需要有钱才能上车')

4

巩固if

(1)什么是三目运算符

在Python中三目运算符也叫三元运算符,其主要作用:就是用于简化if...else...语句

(2)基本语法

if 条件判断:    # 语句段1else:    # 语句段2

转换为三目运算符:

语句段 1if 条件判断 else 语句段 2

(3)三目运算符案例

需求:输入两个数值,返回最大值

num1 = 10num2 = 20if num1 > num2:    print(f'最大值为{num1}')else:    print(f'最大值为{num2}')

简化:三目运算符

num1 = 10num2 = 20max = num1 if num1 > num2 else num2print(f'最大值为{max}')

最新文章

随机文章