分支和循环分支结构多分支结构for 循环range 函数while循环

分支和循环

分支结构

1.流程控制

  1. 顺序执行

从上往下依次执行所有代码(默认)

  1. 分支结构

根据执行条件执行某段代码

python中实现分支结构的方法只有一种:if

num = int(input('请输入一个整数'))
  1. 循环结构

让指定代码重复执行

python中实现循环结构的方式只有两种:for、while

2.分支结构:if

  1. if 单分支结构 – 满足某个条件就执行操作,不满足就不执行
语法:
if 条件语句:
	代码块
	
说明:
if		-- 关键字,固定写法
条件语句  -- 可以是任何有结果的表达式:比如   独立的数据、运算表达式(赋值运算除外)、函数调用表达式
:       -- 固定写法(冒号不能省略)
代码块    -- 和if保持一个缩进的一条或多条语句;在满足条件时才执行的语句

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

num = 10
if num:
    pass  # 可以用pass占位置
if num > 9:
    print(2)
else:
    print(3)
print(6)

练习1:输入一个整数,要求输入的数字是偶数就打印“偶数”,否则不打印

num = int(input('输入一个整数:'))
if num %  == 0:
    print(num)

练习2:输入年龄,根据年龄的值的范围打印成年人

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

2.if 双分支结构 -

满足某个条件就执行某个操作,不满足就执行另一个操作

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

说明:
else     -- 关键字,固定写法
:        -- 固定写法
代码块2    --和else 保持一个缩进的一条或多条语句:条件不满足时执行的语句

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

练习3:

根据年龄范围打印出成年人和未成年人

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

3.多分支结构

满足不同条件执行不同操作(后面的条件是前面的条件不成立的时候才进行判断)

if 条件语句1:
	代码块1
elif 条件语句2:
	代码块2
elif 条件语句3:
	代码块3
......

else:
	代码块n
	
说明:
elif    -- 关键字,固定写法
这个结构语句中 elif 可以根据情况可以有一个或多个,else也可以有根据情况又或者没有

执行过程:
从前往后依次判断每个条件是否成立,如果成立就执行相应的代码块,然后整个结构直接结束。
如果都不成立,才执行else 中的代码块

练习4:

根据分数进行判断等级([0,60)—D,[60,80)——C,[80,90)——B,[90,100)——A)

score = int(input('请输入分数:'))
if 0 <= score < 60:
    print('D')
elif 60 <= score < 80:
    print('C')
elif 80 <= score < 90:
    print('B')
elif 90 <= score <= 100:
    print('A')
else:
    print('输入分数错误')

练习5:判断一个数是否是偶数,同时判断它是否能被4整除

num = int(input('请输入一个整数:'))
if num % 2 == 0:
    print('是偶数')
    if num % 4 == 0:
        print('能被4整除')
    else:
        print('不能被4整除')

for 循环

循环:让代码重复执行

1.for 循环

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


执行过程:
让变量去序列中取值,一个一个的取,去一个执行一次循环体,取完为止(for 循环次数由序列中的元数个数多少决定)
for x in 'hello':
    print(x)
    print('123')  # 打印五次

2. range 函数

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

  1. range(N) – 产生一个0——N的数字序列(N必须是正整数)

range(3) – 0,1,2

for x in range(3):
    print('0000',x)  #打印三次
# 结果:   
# 0000 0
# 0000 1
# 0000 2

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

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

for x in range(5,11):
    print(x)   # 打印出 5,6,7,8,9,10
    print('=======')  # 执行6次
  1. range (M,N,step)

range(1,10,2) # 1,3,5,7,9

range(-10,0,-1) # 10,9,8,7,6,5,4,3,2,1

练习1:

打印0–100中能够被3整除的所有数字

for x in range(3,101,3):
    print(x)

练习2:

打印1–100中能被3整除且个位是3的数

for x in range(3, 101, 3):
    if x % 10 == 3:
        print(x)

练习3:

统计100-200能被3整数但不能被2整除的数的个数

y = 0
for x in range(100, 201):
    if x & 1 == 1 and x % 3 == 0:
        y += 1
print(y)

练习4:

计算1+2+3…+100的和

num = 0
for x in range(1, 101):
    num += x
print(num)

while循环

语法:
while 条件语句:
	循环体
	
例:
变量 = 0
while 变量 < 次数:
	需要重复的操作
	变量+1

说明:
while    -- 关键字,固定写法
条件语句   -- 任何有结果的表达式:独立数据、运算表达式(不能是赋值运算)、函数调用表达式
:        --  固定写法
循环体    --  和while保持一个缩进的一条或多条语句(需要重复执行的语句)

执行过程:
先判断条件语句是否为True,如果是就执行一次循环体,执行完在判断条件语句是否为True,为True就在执行一次循环体,以此类推,知道条件语句结果是False循环结束

练习1:

执行10次打印’hello‘的操作

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

练习2:

1+2+3+…+10

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

练习3:
统计所有两位数中个位加十位是5的数字的个数(并打印出这些数字)

x = 10
y = 0
while x <= 100:
    x += 1
    if x // 10 + x % 10 == 5:
        y += 1
        print(x)
print(y)
            

猜你喜欢

转载自blog.csdn.net/weixin_48491902/article/details/106733627