05. 赋值运算、逻辑运算符、if判断

一、赋值运算

1.增量赋值

常用操作:+= 、 -= 、 *= 、 /= 、 //= 、%= 、**=
age = 18 
age += 1  # age = age + 1
age *= 2  # age = age * 2

2.交叉赋值

x = 10
y = 11
现在要将x和y的值对调:

普通代码:

temp = x
x = y 
y = temp

使用交叉赋值操作(一行搞定):

x, y = y, x

3.链式赋值 : 一次完成多个变量名的赋值(同一个值)

z = y = x = 10  # 一次完成多个变量名的赋值(同一个值)

4.解压赋值

 l = [1,2,3,4,5]
 a,b,c,d,e = l  # a = 1, b = 2, c = 3, d = 4, e = 5
 a,b,*_ = l  # a = 1, b = 2, _=[3,4,5]  _一般是不需要的部分
 *_, a = l  # a = 5, _ = [1,2,3,4]
 a, *-, b = l  # a = 1, b = 5, _=[2,3,4]
注意点:解压赋值的变量名与值的个数必须一一对应,不能多也不能少

二、 逻辑运算符

not 、 and 、or
作用:连接多个条件

1.条件:能得到True或者False的个体、代码都是条件
(1) 显式的布尔值:

	表面上就能看出是True或者False的

① 变量值直接就是布尔值:

	tag = True

② 通过比较运算得到

	print(10 > 5)  # >>>True

1.2 隐式的布尔值

	表面上看是一个值,实际会被底层解释器转换成布尔值,其中:
	只有 0,None, 空(空字符串、空列表等) 对应的布尔值为False,
	其余都是True

2.逻辑运算符
(1) not 条件:

	对条件的布尔值取反
	print(not 3 > 1)

(2) 条件1 and 条件2:

	连接左右两个条件,两个条件都为真,结果才为True,否则结果为False
	print(10 >9 and not True)  # >>>False

(3) 条件1 or 条件2:

	连接左右两个条件,两个条件都为假,结果才为False,否则结果为True
	print(10 > 4 or 10 < 5)  # >>>True

(4) 优先级:

	not > and > or,推荐使用括号来标识优先级

如:

	print(10 > 4 and not True and "aaa" != "aab" or 13 - 1 < 14 or 11 > 10 )  # >>>True
  • 短路运算(偷懒行为):

     当 条件1 and 条件2  中的条件1为假时,条件2就不会被运算,结果直接为False
     当 条件1 or 条件2  中的条件1为真时,条件2就不会被运算,结果直接为True
    
print(-31 and 2 or 1 or 4)  # >>> 2

三、流程控制之if判断

完整语法:

if 条件1:
    代码块1
elif 条件2:
	代码块2
elif 条件3:
	代码块3
...
else:
	代码块4

语法1:

num1 = input("请输入数字1:").strip()
num2 = input("请输入数字2:").strip()
if num1 > num2:
    print(num1)
print("后续代码")  # 后续代码在if判断完成以后继续运行

语法2:

num1 = input("请输入数字1:").strip()
num2 = input("请输入数字2:").strip()
if num1 > num2:
    print(num1)
else:
	print(num2)
print("后续代码")  # 后续代码在if判断完成以后继续运行

语法3:

num = input('成绩:').strip()
num = int(num)
if num >= 90:
    print("优秀")
elif num >= 80:  # num经过了上面的判读已经不满足条件num>=90,所以不用写成 80 <= num < 90
    print('良好')
elif num >= 60:  # 同理,能判断到这一步就说明num不符合上面的条件
    print('及格')
else:
    print('不及格')

语法4:if 判断的嵌套

num = input("当日完成任务数目:").strip()
num = int(num)
if num > 10if num > 20print("牛逼,超额完成")
	else:
		print("完成任务")
else:
	print("任务未完成")
print("后续代码")  # if判断完成后,后续代码继续运行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值