day 4 分支与循环

day 4 分支与循环

流程控制
1. 流程控制

流程控制 — 通过代码控制程序执行的顺序

2. 三种程序执行方式

1)顺序结构:代码从上往下一条一条的执行,且每条语句只执行一次

2)分支结构:执行代码的时候根据条件选择执行或者不执行某些代码

3)循环结构:让代码重复执行----代码只写一遍重复执行多次

分支
1. if单分支结构
  • 如果xxx 就 XXX (满足某个条件才执行某个操作,这个条件不满足,则这个操作不执行)
  • 语法:
    if 条件语句:
    代码段
  1. 说明
    a. if ----- 关键字;固定写法
    b. 条件语句 — 条件对应的代码(必须是一个有结果的表达式)
    c. 冒号: ---- 固定写法且必须为英文输入法下的冒号
    d. 代码段 — 结构上,和if保持一个缩进的一条或多条语句(至少一条)
    逻辑上,满足条件才会执行的代码

  2. 执行过程
    先判断条件语句是否成立,如果成立就执行代码段,否则不执行

# 案例:如果score的值大于80分就打印通过
score = 98
if score > 80:
    print('通过')

# 练习:根据num的值打印奇数
num = 79
if num % 2 != 0:
    print('奇数')

# 练习: 判断指定的三位数是否为水仙花数,是则打印'水仙花'
num = 342
if (num % 10)**3 + (num // 10 % 10)**3 + (num // 100)**3 == num:
    print('水仙花')
2. if 双分支结构
  • 如果xxx就xxx否则就xxx(满足条件执行某个操作,条件不满足则执行另一个操作)
  • 语法:
    if 条件语句:
    代码段1(满足条件时需要执行的代码)
    else:
    代码段2(不满足条件时需要执行的代码)
# 案例:练习1:根据num的值打印'奇数'或者'偶数'
num=80
if num % 2 == 0:
    print('偶数')
else:
    print('奇数')

# 练习2:根据age的值打印'成年'或者'未成年'
age = 29
if age >= 18:
    print('成年')
else:
    print('未成年')

# 练习3:如果num大于10就让num减5,否则将num加5
num = 89
if num > 10:
    print(num-5)
else:
    print(num + 5)
3. if 多分支结构
  • 如果xxxx就xxxx ,如果xxx 就xxx,……(根据不同的条件做不同的事情)

  • 方法1:— 直接使用多个if单分支(其中一个条件成立,其他条件也可能成立时使用)
    不论前面条件是否成立,后面的语句仍会依次判断。
    — 缺点:
    if 条件语句1:
    代码段1
    if 条件语句2:
    代码段2
    if 条件语句3:
    代码段3

  • 方法2:— 多分支结构(如果其中一个条件成立,其他条件绝对不会成立的时候使用)
    ---- 执行特点:后面的条件是在前面的条件不成立的情况下进行判断,
    若满足前面某一个条件,则后面的语句不会再判断了

    if 条件语句1:
    代码段1
    elif 条件语句2:
    代码段2
    elif 条件语句3:
    代码段3
    ……
    else:
    代码段n

# 案例:如果num是偶数就打印'偶数', 如果是奇数就打印'奇数', 如果能被5整除就打印'5的倍数'
num = 20
if num % 2 == 0:
    print('偶数')
else:
    print('奇数')
if num % 5 == 0:
    print('5的倍数')

# 案例:如果考试考了100分 - 买车;考了90多分 - 买鞋;
# # 考了80多分 - 吃火锅;80分以下  - 打死

score = 99
if score == 100:
    print('买车')
elif score >= 90:
    print('买鞋')
elif score >= 80:
    print('吃火锅')
else:
    print('打死')
循环

循环结构:for循环、while循环

1. for 循环

1)使用

  • 语法:
    for 变量 in 序列:
    循环体
  • 说明
    a. for — 关键字;固定写法
    b. 变量 — 变量名
    c. in — 关键字;固定写法
    d. 序列 — 容器型数据类型的数据就是序列
    常见容器型数据:字符串、列表、元组
    e. 冒号: — 固定写法
    f. 循环体 — 结构上,就是和for保持一个缩进的一条或多条语句,至少一条
    逻辑上,需要重复执行的代码
  • 执行过程
    让变量去序列中取值,一个一个的取,取完为止,每取一个值就执行一次循环体
    循环次数由序列中元素的个数决定
# 案例:使用for循环打印’hello world!‘5次
for i in '12345':
    print('hello wrold!')

2)range函数

问题:使用for 循环控制程序打印’hello wrold!'100次? —> range函数

range函数 — 创建等差数列

  • renge(N) — 创建[0,N)的等差数列,差是1;例如:range(5)—0,1,2,3,4
  • range(M,N) — 创建[M,N)的等差数列,差是1;例如:range(5,10)—5,6,7,8,9
  • range(M,N,step) — 创建[M,N)的等差数列,差是step,例如:range(5,20,3)—5,8,11,14,17
    —step可以是负的。例如:range(10,1,-2) — 10,8,6,4,2
for x in range(5):
    print(x)
print()

for i in range(5,20,3):
    print(i)
print()  # 不打印任何东西,意为换行

# 练习
# 0,1,2,3,4,5
range(0, 6)
# 1,3,5,7,9,11
range(1, 12, 2)
# 90,100,110,120,130
range(90, 131, 10)
# 9,8,7,6,5
range(9, 4, -1)
# 19, 16, 13
range(19, 12, -3)
# 2,1,0,-1,-2
range(2, -3, -1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值