分支和循环

一,流程控制

1.控制代码 - 通过代码控制程序执行的顺序

2.三种执行方式

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

2)分支结构:执行代码的时候根据条件执行或者不执行某些代码(if语句)

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

# 1)顺序结构
print('你好')
print(100)
print('hello worid')

# 2)分支结构
age = 19
if age >= 18:
	print('成年')
else:
	print('未成年')
	
# 3)循环结构
for _ in range(10):
	print('python')
二,分支结构
  1. if单分支结构 - 如果 xxx 就 xxx(满足某个条件才执行某个操作,这个条件不满足的是这个操作不执行)
'''
1) 语法
if 条件语句:
    代码段
    
2)说明
a. if    -    关键字;固定写法
b. 条件语句   -    条件对应的代码(必须是一个有结果的表达式)    
c. 冒号      -     固定写法(必须是英文输入法下面的冒号)
d. 代码段    -     结构上,就是和if保持一个缩进的一条或者多条语句,至少一条
                  逻辑上,代码段就是满足条件才会执行代码

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

案例:如score的值大于80分就打印’通过’

score = 98
if score > 80:
    print('通过')
    print('拿奖金')

练习:判断指定的三位数是否是水仙花数,如果是就打印’水仙花’

水仙花: 一个三位数各个位数的立方和等于他本身,153 == 13 + 53 + 3**3

num = 342
ge = num % 10
shi = num // 10%10
bai = num // 100
if ge**3 + shi**3 + bai**3 == num
	print('水仙花数')

2,if双分支结构 - 如果xxx就xxx否则就xxxx(满足条件执行某个操作,条件不满足的时候执行另外的操作)

'''
语法:
if 条件语句:
    代码段1(满足条件需要执行的代码)
else:
    代码段2(不满足条件需要执行的代码)
'''

练习:根据 num 的值打印’奇数’或者’偶数’

num = 80
if num % 2 != 0:
    print('奇数')
else:
    print('偶数')

练习:如果num大于10就让num减5,否则将num加5

num = 89
if num > 10:
    num -= 5
else:
    num += 5
print(num)
  1. if多分支结构 - 如果xxx就xxx,如果xxx就xxx,如果xxx就xxx, …(根据不同的条件做不同的事情)

    '''
    方法1:
    if  条件语句1:
         代码段1
    if  条件语句2:
         代码段2
    if  条件语句3:
         代码段3
    
    方法2:   -     使用if - elif结构(如果其中一个条件成立,其他条件绝对不会成立的使用)
    if 条件语句1:
        代码段1
    elif 条件语句2:
         代码段2
    elif 条件语句3:
         代码段3
    ...
    elif:
         代码段n
    执行特点:后面的条件是在前面条件不成立的情况下进行判断
    '''
    

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

方法一

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

方法二

score = 100
if score < 80:
    print('打死')
elif score < 90:
    print('吃火锅')
elif score < 100:
    print('买鞋')

案例:如果num是偶数就打印’偶数’, 如果是奇数就打印’奇数’, 如果能被5整除就打印’5的倍数’

num = 29
if num % 2 == 0:
    print('偶数')
if num % 2 != 0:
    print('奇数')
if num % 5 == 0:
    print('5的倍数')

    
if num % 2 == 0:
    print('偶数')
else:
    print('奇数')
if num % 5 == 0:
    print('5的倍数')
三,for循环

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

1,for循环

"""
1)语法:
for 变量 in 序列:
    循环体
    
2)说明
a. for      -       关键字;固定写法
b. 变量      -       变量名
c. in       -       关键字;固定写法
d. 序列      -       容器型数据类型的数据就是序列;常见的容器型数据:字符串、列表、元组、集合、字典、迭代器、生成器、range等
e. 冒号      -       固定写法
f. 循环体    -       结构上,就是和for保持一个缩进的一条或者多条语句,至少一条;
                    逻辑上,需要重复执行的代码
                    
3)执行过程
让变量去序列中取值,一个一个的取,取完为止,每取一个值就执行一次循环体。
循环次数由序列中元素的个数决定。
"""

常见的容器型数据:‘abc忙什么呢’、[10, 20, 30, 40]、(10, 20, 30, 40)

案例:使用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!')
...
"""
  1. 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
    """
    
for x in range(5):
    print(x)

for x in range(5, 10):
    print(x)

for x in range(5, 20, 3):
    print(x, end=' ')
print()

for x in range(10, 1, -2):
    print(x, end=' ')

练习:写出以下等差数列对应range函数

0,1,2,3,4,5

for x in range(6):
    print(x, end=' ')

1,3,5,7,9,11

for x in range(1, 12, 2):
    print(x, end=' ')

90,100,110,120,130

for x in range(90, 131, 10):
    print(x, end=' ')

9,8,7,6,5

for x in range(9, 4, -1):
    print(x, end=' ')

19, 16, 13

for x in range(19, 12, -3):
    print(x, end=' ')

2,1,0,-1,-2

for x in range(2, -3, -1):
    print(x, end=' ')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小*生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值