DAY 03 基本运算符和if流程判断

DAY 03

一、基本运算符

因为是整数,所以也可以进行数学中的基本运算。

  • 算数运算符是 运算符的一种
  • 是完成基本的算术运算使用的符号,用来处理四则运算
运算符描述实例
+10 + 20 = 30
-10 - 20 = 10
*10 * 20 = 200
/10 / 20 = 0.5
//取整除返回除法的整数部分(商) 9 // 2 输出结果 4
%取余数返回除法的余数 9 % 2 = 1
**又称次方、乘方,2 ** 3 = 8

#其中 + 和 ***** 可以适用于字符串

1、赋值运算

(1) 增量赋值

age = 18
age += 1  # age = age + 1
age -= 10  # age = age - 10
age *= 10  # age = age * 10

(2) 交叉赋值

x = 111
y = 222
# temp=x
# x=y
# y=temp
#等同于
x, y = y, x

(3) 链式赋值

x = 10
y = x
z = y
x = y = z 
print(id(x), id(y), id(z))
---------------------------
140720998896960 140720998896960 140720998896960

(4) 解压赋值:变量名与值的个数必须一一对应,多一个变量名不行,少一个变量名不行。

lists = [1, 12.3, "name", [23, 1]]
a, b, c, d = lists
print(a, b, c, d)
-------------------------
1 12.3 name [23, 1]

#### 可以通过* _ 方法来选取压缩包中特定的元素,作为一个列表的集合
#### 此处 * 可以理解为贪婪匹配
#### _ 的命名是不规范的 当做‘垃圾’的命名
# 取前几个
a, b, *_ = lists
print(a, b, _, sep="\t")
print(_)
--------------------
1	12.3	['name', [23, 1]]
['name', [23, 1]]

# 取后几个
*_, c, d = lists
print(c, d, _, sep="\t")
print( _ )
-------------------
name	[23, 1]	[1, 12.3]
[1, 12.3]

#取中间
_, *midlle, _ = lists
print(midlle)
--------------
[12.3, 'name']

​ 解压赋值对字典同样适用,只是取到的是字典的Key

dic = {'k1': 111, 'k2': 222, 'k3': 3333}
x, y, z = dic
print(x, y, z)
------------------
k1 k2 k3

二、流程控制if判断

1、条件:只要能得到True 或 False两种值的语句都能当做条件
  • 如果 条件满足,才能做某件事情,
  • 如果 条件不满足,就做另外一件事情,或者什么也不做

(1)、显式的布尔值 : 表面上看就直接是TrueFalse
①比较运算的结果
print(10 > 3)
print(10 == 3)
②变量值直接就是TrueFalse
tag = True

(2)、隐式的布尔值 :表面上看上去是一种值,在底层会被解释器转换成True或False

0None对应的布尔值为False,其余值对应的布尔值均为True

10     3.1     ""      []      {"k1":222}    None
Ture  Ture   False    False       Ture       False
###
2、逻辑运算符:用来连接多个条件

(1) not 条件:对条件的结果取反

print(not 10 > 3)
print(not False)
print(not 0)
-------------------
False
True
True

(2) 条件1 and 条件2:连接左右两个条件,两个条件必须都为True,最终结果才为True

print(True and 10 > 3)
print(True and 10 == 3)
------------------------
True
False

(3) 条件1 or 条件2:连接左右两个条件,两个条件只要有一个为True,最终结果就为True

print(False or 10 == 3)
print(True or 10 == 3)
------------------------
False
True
# ps:偷懒原则=》短路运算 
print(10 or None)
print(0 or 'name')
------------------------
10  #  此处10为Ture而or判断的条件应为Ture 而Ture = 10 所以此处输出的是10
name # 同上

#####运算符的优先级

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kFhEnuR4-1594197163366)(C:\Users\S\AppData\Roaming\Typora\typora-user-images\image-20200708155110273.png)]

# 三者的优先级关系:not>and>or,同一优先级默认从左往右计算
# or最后判断                           False          or  Ture  ==  Ture
# 右and次优先       False            and    Ture  == False
# 左and次优先 False and  False == False
# not优先                False
result =    (3 > 4 and (not 3 > 3)) and ('x' == 'x') or (3 == 3)
print(result)
--------------------
True  #  not运算通常单独使用 或者跟在 另外的运算符后面
3、if 判断的完整语法
if 条件1:
    条件1满足执行的代码
    ……
elif 条件2:
    条件2满足时,执行的代码
    ……
elif 条件3:
    条件3满足时,执行的代码
    ……
else:
    以上条件都不满足时,执行的代码
    ……

注意

  • ifelse 语句以及各自的缩进部分共同是一个 完整的代码块
  • elifelse 都必须和 if 联合使用,而不能单独使用
  • 可以将 ifelifelse 以及各自缩进的代码,看成一个 完整的代码块
4、if 的嵌套
gender = "female"
age = 18
is_beautiful = True
is_successful = True

if gender == "female" and 60 >= age >= 18 and is_beautiful:
    print('开始表白。。。')
    if is_beautiful:
        print('在一起')
    else:
        print('再见。。。')
else:
    print('阿姨好,开个玩笑。。。')

print('后续代码。。。')


``


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值