python的循环结构分为你几中_python中的条件分支与循环结构

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-28 06:54   126   0

1. 条件分支

条件分支也可以成为选择结构,即根据某个条件决定执行不同部分的语句或语句块。在条件分支结构中,可以划分为单分支结构、二分支结构和多分支结构。

1.1 单分支语句

单分支语句可用if单分支语句来实现,其一般格式为:

if 表达式:

语句块

语句在执行过程中,若表达式的值为True,则执行语句中的语句块,否则,直接执行if语句的后续语句。if单分支语句流程图见下图1.

例1:判断从键盘输入整数的奇偶性并输出结果。

n = int(input("请输入一个整数:"))

flag = str(n) + "是偶数!"

if n % 2 != 0:

flag = str(n) + "是奇数!"

print(flag)

#-----

#--请输入一个整数:5

#--5是奇数!

1.2 二分支结构

二分支结构用if…else…来实现,其一般格式为:

if 表达式:

语句块1

else:

语句块2

语句执行过程:若表达式为True,则执行语句块1,否则执行语句块2。其流程图如下:

使用二分支结构来编程例1,其代码如下:

n = int(input("请输入一个整数:"))

if n %2 != 0:

print(str(n) + "是奇数!")

else:

print(str(n) + "是偶数!")

#---

#--请输入一个整数:8

#--8是偶数!

1.3 多分支结构

在实际处理问题中常常会遇见多种条件,此时我们需要通过多分支结构来进行判断,其一般语句结构为:

if 表达式1:

语句块1

elif 表达式2:

语句块2

...

else:

语句块n+1

if多分支语句根据不同的表达式值来确定执行哪个语句块,其流程图见下:

例2.使用多分支结构来判断输入成绩等级并输出。

score = int(input("请输入成绩:"))

if score >= 90:

print("成绩等级:优秀!")

elif score >= 80:

print("成绩等级:良好!")

elif score >= 60:

print("成绩等级:合格!")

else:

print("成绩等级:不合格!")

#---

#--请输入成绩:79

#--成绩等级:合格!

2. 循环结构

循环结构依据某一条件反复执行某段程序。在python语句中,主要有两种结构,即while和for。

2.1 while语句

while语句的一般格式为:

while 表达式:

语句块

[else:

else子句语句块]

while语句执行过程:如果表达式的值为True,则执行while后面的语句块,否则执行else子句语句块,结束循环,这里else子句为可选。

例3. 使用while语句计算1~100的和。

i = 1

sum = 0

while i <= 100:

sum = sum + i

i += 1

print("1到100之和为:%d ." %sum)

#-----

#--1到100之和为:5050 .

有时候while语句与input()函数结合使用,给变量循环输入数据。

例4.通过键盘动态录入学生的英语成绩,输入-1退出录入系统,并计算录入学生英语成绩的总分和平均分。

total = 0

ave = 0

count = 0

score = int(input("请输入学生英语成绩:"))

while score != -1:

total = total + score

count += 1

score = int(input("请输入学生英语成绩:"))

ave = total/count

print("录入学生英语成绩 %d 份,学生英语总成绩 %d,平均成绩 %4.2f" %(count,total, ave))

#----

#--请输入学生英语成绩:98

#--请输入学生英语成绩:85

#--请输入学生英语成绩:78

#--请输入学生英语成绩:63

#--请输入学生英语成绩:-1

#--录入学生英语成绩 4 份,学生英语总成绩 324,平均成绩 81.00

2.2 for语句

在python中,for语句更适合循环访问系列或迭代对象(如字符串、列表、元祖、字典等)中的元素,其一般格式为:

for 变量 in 序列或迭代对象:

语句块

[else:

else子句语句块]

for语句执行过程:当序列或迭代对象中的元素没有遍历完毕时,执行for语句中的语句块,否则执行else子句中的语句块,结束循环。for语句常与range()函数结合使用。

例5.九九乘法表。

for i in range(1,10):

for j in range(1,i+1):

print("%dx%d=%d" %(i,j,i*j),end=" ")

print("")

#---

1x1=1

2x1=2 2x2=4

3x1=3 3x2=6 3x3=9

4x1=4 4x2=8 4x3=12 4x4=16

5x1=5 5x2=10 5x3=15 5x4=20 5x5=25

6x1=6 6x2=12 6x3=18 6x4=24 6x5=30 6x6=36

7x1=7 7x2=14 7x3=21 7x4=28 7x5=35 7x6=42 7x7=49

8x1=8 8x2=16 8x3=24 8x4=32 8x5=40 8x6=48 8x7=56 8x8=64

9x1=9 9x2=18 9x3=27 9x4=36 9x5=45 9x6=54 9x7=63 9x8=72 9x9=81

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP