day4 Python:分支、循环

day4 Python:分支、循环

一、流程控制

说明:通过代码控制程序执行的顺序

程序执行的三种方式

  1. 顺序结构:代码从上往下按顺序执行,每条语句执行一次

print('你好')
print(100)
# input()
print('hello world!')
  1. 分支结构:执行代码的时候根据条件选择执行或者不执行某些代码 (if语句)

age = 9
if age >= 18:
    print('成年')
else:
    print('未成年')
  1. 循环结构:让代码重复执行-代码写一遍重复执行多次 (for、while)

for _ in range(10):
    print('python')

二、分支结构

1. if单分支结构

语法:

if 条件语句:
    代码段

说明:

  • if:关键词,固定写法

  • 条件语句:条件对应的代码(必须是一个有结果的表达式)

  • 冒号:固定写法(英文输入法)

  • 代码段:结构上,就是和if保持一个缩进的一条或者多条语句,至少一条;逻辑上,代码段就是满足条件才会执行的代码

执行过程:判断条件是否成立,成立代码段执行,不成立代码段跳过

案列与练习:

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

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

# 练习2:判断指定的三位数是否是水仙花数,如果是就打印'水仙花数'
# 水仙花: 一个三位数各个位数的立方和等于他本身, 153 == 1**3 + 5**3 + 3**3
num = 153
ge = num % 10
shi = num // 10 % 10
bai = num // 100
if ge**3 + shi**3 + bai**3 == num:
    print('水仙花数')

2. if双分支结构

语法:

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:
    num -= 5
else:
    num += 5
print(num)

3. if多分支结构

语法:

方法1:

if 条件语句1:

代码段1

if 条件语句2:

代码段2

if 条件语句3:

代码段3

......

方法2:

if 条件语句1:

代码段1

elif 条件语句2:

代码段2

elif 条件语句3

代码段3

...

else:

代码段N

执行特点:后面的条件是在前面条件不成立的情况下进行判断

案列与练习:

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

# 方法1:
if score == 100:
    print('买车')
if 90 <= score < 100:
    print('买鞋')
if 80 <= score < 90:
    print('吃火锅')
if score < 80:
    print('打死')

# 方法2:
if score < 80:
    print('打死')
elif score < 90:
    print('吃火锅')
elif score < 100:
    print('买鞋')
else:
    print('买车')


# 练习1:如果num是偶数就打印'偶数', 如果是奇数就打印'奇数', 如果能被5整除就打印'5的倍数'
num = 250

# 方法1:
if num % 2 == 0:
    print('偶数')
if num % 2 != 0:
    print('奇数')
if num % 5 == 0:
    print('5的倍数')

# 方法2:
if num % 2 == 0:
    print('偶数')
else:
    print('奇数')
if num % 5 == 0:
    print('5的倍数')

三、循环结构

1. for循环

语法:

for 变量 in 序列:

循环体

说明:

for      -       关键字;固定写法
变量      -       变量名
in       -       关键字;固定写法
序列      -       容器型数据类型的数据就是序列;常见的容器型数据:字符串、列表、元组、集合、字典、迭代器、生成器、range等
冒号      -       固定写法
循环体    -       结构上,就是和for保持一个缩进的一条或者多条语句,至少一条;
                    逻辑上,需要重复执行的代码

案例与练习:

# 案例:使用for循环控制程序打印 'hello world!' 5次
for x in 'asvbg':
    print(x, 'hello world!')
print('你好')

"""
第1次: x = 'a'  ->  print('a', 'hello world!')
第2次:x = 's' -> print('s', 'hello world!')
...
"""

print('---------------------------------------华丽的分割线------------------------------------')
# 问题:使用for循环控制程序打印 'hello world!' 100次?
for x in range(100):
    print('hello world!')

# 2. range函数 - 创建等差数列
"""
1)range(N)      -   创建[0, N)的等差数列,差是1;例如:range(5)   -   0,1,2,3,4
2)range(M, N)   -   创建[M, N)的等差数列,差是1;例如:range(5, 10)   -   5,6,7,8,9
3)range(M, N, step) -   创建[M, N)的等差数列,差是step; 例如:range(5, 20, 3)    -   5,8,11,14,17
                                                           range(10, 1, -2)  -   10,8,6,4,2
"""
print('---------------------------------------华丽的分割线------------------------------------')
for x in range(5):
    print(x)

print('---------------------------------------华丽的分割线------------------------------------')
for x in range(5, 10):
    print(x)

print('---------------------------------------华丽的分割线------------------------------------')
for x in range(5, 20, 3):
    print(x, end=' ')

print()
print('---------------------------------------华丽的分割线------------------------------------')
for x in range(10, 1, -2):
    print(x, end=' ')

# 练习:写出以下等差数列对应range函数
# 0,1,2,3,4,5
range(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、付费专栏及课程。

余额充值