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
主要的推导式有:列表推导式、字典推导式、集合推导式等

规则

  1. 只能添加 if 判断
  2. 可以嵌套for循环
  3. 复杂的场景可以使用三目运算符和推导式相结合,三目运算符做条件判断,推导式作为判断后执行的代码
    语法:

第一个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]
posted @ 2021-12-08 14:00  深海鱼香茄子  阅读(39)  评论(0编辑  收藏  举报