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