欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

day4-python分支和循环

程序员文章站 2022-04-06 12:24:28
...

一、分支和循环

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('请输入正确的成绩!')

day4-python分支和循环

二、循环

循环:让代码重复执行。

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        

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

相关标签: 学习 python