day4-python分支和循环

一、分支和循环

1、流程控制

1)顺序执行:默认从上往下顺序执行所有代码

2)分支结构:根据条件来确定执行哪段代码(python中实现分支结构的方式只有一种:if)
3)循环结构:让指定代码重复的执行
python中循环结构实现方式:for,while

2、分支结构:if

1)if 单分支 - 满足条件就执行,不满足就不执行

"""
语法结构:
if 条件语句:
    代码块
    
说明:
if - 关键字,固定写法
条件语句 - 可以是任何有结果的表达式:比如独立的表达式,运算表达式(不能是赋值表达式)、函数调用表达式
: - 固定写法
"""

代码块 - 和if保持一个缩进的一条或多条语句;满足才会执行的语句。(至少要有一条语句)

执行过程:先判断条件语句是否为True(如果不是布尔值就先转换成布尔值),如果True就执行if语句中的代码块,False就不执行。

"""
 if [3]:
     print(1)
 else:
     print(0)

例:输入一个整数,要求输入的数如果是整数,就打印’偶数‘否者不打印

num = int(input('请输入一个整数:'))
if not(num & 1):
    print('偶数')

例:输入年龄,根据年龄值的范围打印’成年人

age = int(input('请输入年龄:'))
if age >= 18:
    print('成年人!')

2)if双分支结构 - 满足某个条件就执行某个操作,不满足就执行另外一个操作

"""
语法结构
if 条件语句:
    代码块1
else:
    代码块2

说明:
else - 关键字,固定写法
: - 固定写法
"""

注: 代码块2 - 和else保持一个缩进的一条或者多条语句;条件不满足的时候需要执行的代码块。

执行过程
先判断条件语句是否为True,如果是就执行代码块1,否就执行代码块2

例:根据输入的年龄值的范围打印’成年‘和’未成年‘

age = int(input('请输入年龄:'))
if age >= 18:
    print('成年人!')
else:
    print('未成年!')

3)if多分枝结构 - 满足不同条件执行不同操作(后面条件是在前面条件不成立的时候判断的)

"""
语法:
if 条件语句1:
    代码块一
elif 条件语句2;
    代码块2
elif 条件语句3:
    代码块3
...
else :
    代码块n

"""

说明:
elif - 关键字,固定写法
这个结构中elif可以根据情况有一个或多个;else也可以根据情况有或没有

执行过程:
从前往后依次执行每个条件语句是否成立,如果那个成立就执行哪个代码块,然后结构直接结束,如果前面的都不成立,才执行else中的代码块。

例;根据分数进行等级判定([0,60) - D, [60.80) - C, [80,90) - B, [90,100] - A)

grade = int(input('请输入成绩:'))
if 90 <= grade <= 100:
    print('A')
elif 80 <= grade:
    print('B')
elif 60 <= grade:
    print('C')
elif 0 <= grade:
    print('D')
else:
    print('请输入正确的成绩!')

在这里插入图片描述

二、循环

循环:让代码重复执行。

1、for循环

"""
语法结构:
for 变量 in 序列:
    循环体
    
说明:
变量 - 可以是已经赋值过的变量也可以是没有赋值过的变量
序列 - 任何容器型数据类型数据:字符串、列表、元组、集合、字典、迭代器、生成器、range...
循环体 - 和for保持一个缩进的一条或多条语句;需要被重复执行的代码块

for循环的执行过程:
让变量去序列中取值,一个一个取,取完为止,每取一个值执行一次循环体。
(for 循环的循环次数由序列中的元素的个数决定)
"""

2、range函数

用来产生指定范围内的数字序列

1)range(N) - 产生0~N-1 的数字序列(N必须是正整数)

range(3) - 0,1,2

range(a,b,c) range函数有三个属性,a指的是起始数字,b指的是结束数字是b-1,c指的是每取的临近两个数之间的间隔大小(默认为1)

例:

for m in range(5):
    print(10)              #会打印5遍10

2)range(M,N) - 产生 M ~ N-1 的数字序列(M,N是整数,M<N)

range(5,11) : 5,6,7,8,9,10

例:

for m in range(5,15):
    print(m)                 #5 6 7 8 9 10 11 12 13 14

例:打印0~100中能被3整除并且个位是3的所有数

for i in range(3,100,3):
    if i % 10 == 3:
        print(i)                # 3 33 63 93 

例:打印100~200能够被3整除但不能被2整除的个数

x = 0
for i in range(103,200,3):
    # print('55555')
    if i & 1 == 1:
        x += 1
print(x)                 #17

2、while循环

1、while循环
"""
语法:
while 条件语句:
     循环体

执行过程:
先判断条件语句是否为True,如果是就执行一次循环体,执行完在判断条件语句是否为True,为True再执行循环语句,直到为False就退出循环
"""

例:执行10次打印’hello’的操作

num = 0
while num < 10:
     print('hello')
     num += 1

例:统计所有的两位数中个位数加上十位数是5的数字的个数(并打印)

num = 14
while num <= 50:
    # x = num // 10
    # y = num % 10
    # if x + y == 5:
    #     print(num)

    print(num)
    num += 9                      # 14 23 32 41 50        

for 和 while都可以多重嵌套,但会降低程序速率,尽量少用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值