python 笔记 - 流程条件控制语句
流程条件控制语句
条件判断
if 语句
if 判断条件:
执行语句1
elif:
执行语句2
....
else:
执行语句N
python3.8新增了变量赋值方式(变量a后的冒号和等号之间没有空格)
if a := 10 == 10:
print("this is new way)
对比旧的赋值方式:
a=10
if a==10:
print('this is old way!')
循环遍历
for循环
for循环可以遍历所有序列的对象,
常用的可迭代对象有:string、list 、dictionary、range对象
语法:
for iterating in sequence: #iterating 可迭代对象
print(iterating)
嵌套循环
for i in range(5):
str_1=''
for j in range(3):
str_1 += str(j)+','
print("第",i+1,'行 的数据是:',str_1)
while循环
只要条件满足就会一直执行循环
语法
while condition==1:
print()
终止循环 break
跳过本次循环 continue
空语句 pass
三目运算符(三元表达式)
规则:
- 遵循if... else...格式
- 只能是一行代码
语法:
exp1 if contion else exp2
如果:condition成立,执行exp1
不成立,执行exp2
示例:
a=int(input("输入一个数字:"))
print("i finished my work todays=")if a >4 else print('bye!')
推导式
推导式又称为解析式,是可以从一个 数据序列 构建另一个新的数据序列的结构体;数据序列:指字典、列表、字符串、range
主要的推导式有:列表推导式、字典推导式、集合推导式等
规则
- 只能添加 if 判断
- 可以嵌套for循环
- 复杂的场景可以使用三目运算符和推导式相结合,三目运算符做条件判断,推导式作为判断后执行的代码
语法:
第一个x 应该指的是新的序列的元素形式,比如字典推导式 for前面的x格式就是 x:x
也可以对x 进行计算,类型的转换,加上额外的字符等。
这样的话,for循环遍历的是一个序列,就是上面提到的数据序列 ,那就不只是range 了
result=[x for x in range(5) if x >2]
print(result)
#字典推导式 #对生成的字典的键做了一些操作
result={str(x)+'haha':x for x in range(5)}
print(result)
输出:
{'0haha': 0, '1haha': 1, '2haha': 2, '3haha': 3, '4haha': 4}
示例:
列表推导式
#列表
result=[x for x in range(5) if x >2]
print(result)
#运行结果:[3, 4]
字典推导式
集合推导式
result={x for x in range(10) if x<8}
print(result)
结果:
{0, 1, 2, 3, 4, 5, 6, 7}
字典推导式
result {x:x for x in range(5)}
print(result)
结果:
{0: 0, 2: 2, 4: 4, 6: 6, 8: 8}
推导式+三目运算符
格式: 推导式1 if 判断条件 else 推导式2
#三目运算符+推导式
number=10
result=[x for x in range(5)] if number>10 else [x for x in range(20,30)]
print(result)
输出:
[20, 21, 22, 23, 24, 25, 26, 27, 28, 29]