四、Python的分支、循环、条件与枚举

4 分支、循环、条件与枚举

4.1 表达式

表达式(Expression)是运算符(operator)和操作数(operand)所构成的序列.
表达式的优先级问题(一般按照优先级,进行左结合运算),不需要刻意去记,拿不准用()即可.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
>>> 1+2**3 # 常见表达式
9
>>> c = int('1') + 2
>>> c + 0
3
>>> a = 1
>>> b =2
>>> a or b and c # 优先级
1
>>> (a or b) and c
3
>>>
>>> a = 1
>>> b = 2
>>> c = a + b #出现赋值运算符 = 右结合
>>> print(c)
3
>>>
>>> d = a or b # or 优先级低于 =,但依旧是右结合
>>> print(d)
1
>>>
>>> a = 1
>>> b =2
>>> c = 2
>>> not a or b + 2 == c
False
>>> (not a) or ((b + 2) == c) # 多用括号
False
>>>

4.2 if else –流程控制语句

VSCode开发环境熟悉
ctr + ~ 打开关闭cmd
单行注释 ctr + / 选择多行,同时注释多行,再按一次,取消
多行注释 alt + shift + a … …

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
""" 以下是本模块的说明:
实现用户登录账户密码验证
假设用户已经注册,且用户名密码等信息已存入数据库 """
ZS = 'zhangsan' #python中没有常量(实际依旧是变量),只是一种书写规范(大写)
ZS_PWD = '123'

print('请输入用户名: ')
user_account = input() # 变量一般出现在函数或者类中,尽量不要直接丢在模块中
print('请输入密码: ')
user_passwd = input()

"""
#实现方式 1
if user_account == ZS:
if user_passwd == ZS_PWD:
print('success ')
else:
print('pwd fail!')
else:
print('user fail!')

"""
# 实现方式二
if user_account == ZS and user_passwd == ZS_PWD: # :前不要有空格
print('success ') # 前边有四个空格,不是所有的IDLE的tab都表示四个空格
else:
print('failure ')
# 程序最后加一个空行

a = True
if a: # snippet 片段
print('ok') # tap 进入下一个pass(占位符)
else:
print('no') # shift tap 返回上一个pass(占位符)

4.3 elif –流程控制语句

python没有switch语法,但可用多个elif或者字典替代(具体看参考官方文档).
elif 简洁优美.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
""" elif 与 if else 对比 """

print('please input a :')
a = input() # 把输入的str a 转换为数字 a
a = int(a)
if a == 1:
print('1apple')
else:
if a == 2:
print('2blue')
else:
if a ==3:
print('3black')
else:
print('unknown')

# 上边的if..else 嵌套太繁琐,以下是简约的写法if..elif

print('pls input a number : ')
b = input()
b = int(b)
if b == 1:
print('1b')
elif b == 2:
print('2b')
elif b == 3:
print('3b')
else:
print('what??')

分享到