python中的条件分支与循环结构

1. 条件分支

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

1.1 单分支语句

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

if 表达式:
   语句块

语句在执行过程中,若表达式的值为True,则执行语句中的语句块,否则,直接执行if语句的后续语句。if单分支语句流程图见下图1.
图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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值