python基础8---程序的组织结构

本文详细介绍了Python编程中的基本程序结构,包括顺序结构、选择结构(单分支、双分支、多分支选择结构及嵌套if)和循环结构(while、for-in循环),并结合实例展示了条件表达式、pass语句的用法,以及流程控制语句break和continue的实践。通过这些基础知识,读者可以更好地理解和掌握Python程序的逻辑控制。
摘要由CSDN通过智能技术生成

1、程序的组织结构

任何简单或复杂的算法可以由三种基本结构组成

  • 顺序结构
  • 选择结构:if语句
  • 循环结构:while语句、for-in语句
1.1 顺序结构

程序从上到下按顺序执行,中间没有任何判断和跳转,直到程序结束

1.2 选择结构

有判断条件,程序根据判断条件的布尔值选择执行哪个分支代码

  • 单分支结构
  • 双分支结构
  • 多分支结构
1.2.1 单分支选择结构
  • 中文语义:如果…就…
  • 语法结构:if 条件表达式:
                条件执行体
# 单分支选择结构练习:银行取款
balance=500
withdraw=int(input('请输入您要取款的金额:'))
if withdraw<=balance:
    balance=balance-withdraw
    print('取款成功,您的余额为:',balance)
# 输出结果
请输入您要取款的金额:>? 409
取款成功,您的余额为: 91
1.2.2 双分支选择结构
  • 中文语义:如果…就…否则…就…
  • 语法结构:if 条件表达式:
                条件执行体1
              else:
                条件执行体2
# 双分支选择结构练习:银行取款
balance=500        #余额
withdraw=int(input('请输入您要取款的金额:'))      # 取款金额
if withdraw<=balance:
    balance=balance-withdraw
    print('取款成功,您的余额为:',balance)
else:
    print('余额不足,取款失败')
# 输出结果
请输入您要取款的金额:>? 400
取款成功,您的余额为: 100
请输入您要取款的金额:>? 501
余额不足,取款失败
1.2.3 多分支选择结构
  • 在多分支结构中else是可以省略的
  • 语法结构:if 条件表达式1:
                条件执行体1
              elif 条件表达式2:
                条件执行体2
              elif 条件表达式N:
                条件执行体N
              [else:]
                条件执行体N+1
# 多分支选择结构练习:根据成绩判断所处级别
score=int(input('请输入一个成绩:'))
if score>=90 and score<=100:
    print('A级')
elif score>=80 and score<=89:
    print('B级')
elif score>=70 and score<=79:
    print('C级')
elif score>=60 and score<=69:
    print('D级')
else:print('不合格')
1.2.4 嵌套if的使用
  • 语法结构:if 条件表达式1:
                if 内层条件表达式:
                    内存条件执行体1
                else:
                    内存条件执行体2
              else:
                条件执行体
    (说明:条件表达式1符合的条件下才会执行内层条件表达式,否则直接else条件执行体)
# 嵌套if的使用练习:会员满多少打几折
member=str(input('您是会员吗?Y/N'))
money=float(input('请输入您消费的金额:'))
if member=='Y':
    if money>=200:
        print('会员8折,付款金额为:',money*0.8)
    elif money>=100 and money<=199:
        print('会员9折,付款金额为:',money*0.9)
    else:print('会员金额不满不打折,付款金额为:',money)
else:
    if money>=200:
        print('非会员9.5折,付款金额为:',money*0.95)
    else:print('非会员金额不满不打折,付款金额为:',money)
1.2.5 条件表达式
  • 条件表达式是if…else的简写
  • 语法结构:x if 判断条件 else y
  • 运算规则:如果判断条件的布尔值为True,条件表达式返回值为x,否则条件表达式的返回值为False
1.2.6 pass语句
  • 只是一个占位符,不起任何作用,用到需要写语句的地方防止程序直接报错
# pass语句:不起任何作用,只是一个占位符,临时占用语句位置防止程序报错
member=str(input('您是会员吗?Y/N'))
money=float(input('请输入您消费的金额:'))
if member=='Y':
    pass
else:
    pass
1.3 循环结构
1.3.1 while循环
  • 语法结构:
    while 条件表达式:
         条件执行体(循环体)
  • while是判断N+1次,条件为True执行N次
# while循环
a=1
while a<10:
    print(a)
    a+=1
# 输出结果
1
2
3
4
5
6
7
8
9
  • while四步循环法
    1)初始化变量
    2)条件判断
    3)条件执行体(循环体)
    4)改变变量
# while循环练习:计算0~4之间的累加和
a=0
sum=0
while a<5:
    sum+=a
    a+=1
print('累加和为:',sum)
# 输出结果
累加和为: 10

# while循环练习:计算1~100之间的偶数和
i=1
sum=0
while i<=100:
    if i%2==0:
        sum+=i
    i+=1
print('1~100之间的偶数和为:',sum)
# 输出结果
1~100之间的偶数和为: 2550

# while循环练习:计算1~100之间的奇数和
i=1
sum=0
while i<=100:
    if bool(i%2) is True:
        sum+=i
    i+=1
print('1~100之间的奇数和为:',sum)
# 输出结果
1~100之间的奇数和为: 2500
1.3.2 for -in循环
  • 从字符串、序列等中依次取值,又称为“遍历”
  • 遍历的对象必须是可迭代对象(如字符串、序列等)
  • 语法结构:
    for 自定义变量 in 可迭代对象:
       循环体
    (ps:在可迭代对象当中依次取出一个值把它赋值给自定义变量,再执行循环体,如果循环体内不需要访问自定义变量,可以将自定义变量替代为下划线_)
# for-in循环(举例可迭代对象为字符串)
for name in 'Python':
    print(name)
# 输出结果
P
y
t
h
o
n

# for-in循环(举例可迭代对象为序列)
for name in range(1,3,1):
    print(name)
# 输出结果
1
2

# for-in循环(举例循环体内不需要访问自定义变量时,可将自定义变量替代为下划线_)
for _ in range(3):
    print('你好!')        # 输出你好!执行3遍
# 输出结果
你好!
你好!
你好!

# for-in循环练习:计算1~100之间的偶数和
sum=0
for i in range(1,101,1):
    if i%2==0:
        sum+=i
print('1~100之间的偶数和为:',sum)
# 输出结果
1~100之间的偶数和为: 2550
1.3.3 流程控制语句break
  • break用于跳出循环语句
  • 通常与if搭配使用:满足if条件后break跳出循环体
# break跳出循环语句练习:输入解锁密码错误3次无法再次输入(用for-in循环)
pwd='666'
for i in range(100):
    if i<=2:
        scan = input('请输入密码:')
        if scan!=pwd:
            print('密码错误,请重新输入')
        else:
            print('密码正确,解锁成功')
            break
    else:
        print('您已输入错误3次无法再次输入密码')
        break

for i in range(3):
    scan=input('请输入密码:')
    if scan=='666':
        print('密码正确')
        break
    else:
        print('密码错误,请重新输入')
else:
    print('您已连续输错3次密码,无法再次输入')
1.3.4 流程控制语句continue
  • continue用于结束当前循环,进入下一次循环(break是跳出循环)
  • 通常与if一起使用
# continue结束当前循环,进入下一个循环练习:输出1~50之间5的倍数
# 1、直接输出
for n in range(1,51):
    if n%5==0:
        print(n)
# 2、用continue输出
for n in range(1,51):
    if n%5!=0:
        continue
    print(n)
1.3.5 循环嵌套
# 循环嵌套练习:输出一个3行4列的矩形阵列
for i in range(1,4):
    for j in range(1, 5):
        print('*',end="")     #不换行,先全部打印出来
    print()     #换行打印
#输出
****
****
****
    
for i in range(1,4):
    for j in range(1, 5):
        print('*',end='\t')     #不换行,先全部打印出来,\t空制表位
    print()     #换行打印
#输出
*	*	*	*	
*	*	*	*	
*	*	*	*

# 九九乘法表
for i in range(1,10):    #行数
    for j in range(1,i+1):
        print(i,"*",j,"=",i*j,end='\t')
    print()
#输出
1 * 1 = 1	
2 * 1 = 2	2 * 2 = 4	
3 * 1 = 3	3 * 2 = 6	3 * 3 = 9	
4 * 1 = 4	4 * 2 = 8	4 * 3 = 12	4 * 4 = 16	
5 * 1 = 5	5 * 2 = 10	5 * 3 = 15	5 * 4 = 20	5 * 5 = 25	
6 * 1 = 6	6 * 2 = 12	6 * 3 = 18	6 * 4 = 24	6 * 5 = 30	6 * 6 = 36	
7 * 1 = 7	7 * 2 = 14	7 * 3 = 21	7 * 4 = 28	7 * 5 = 35	7 * 6 = 42	7 * 7 = 49	
8 * 1 = 8	8 * 2 = 16	8 * 3 = 24	8 * 4 = 32	8 * 5 = 40	8 * 6 = 48	8 * 7 = 56	8 * 8 = 64	
9 * 1 = 9	9 * 2 = 18	9 * 3 = 27	9 * 4 = 36	9 * 5 = 45	9 * 6 = 54	9 * 7 = 63	9 * 8 = 72	9 * 9 = 81	
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值