python学习_分支结构(if...else...)

发布时间 2023-07-14 12:08:15作者: 机智的老猫咪

一、程序的组织结构

1996年,计算机科学家证明了这样一个事实:任何简单或者复杂的算法都可以由顺序结构、选择结构和循环结构这三种基本结构组合而成

 1)顺序结构

程序从上到下顺序地执行代码,中间没有任何的判断和跳转,直到程序结束就叫顺序结构

例如:把大象装冰箱一共分几步?

print("-------程序开始---------")
print("第一步:打开冰箱门")
print("第二步:把大象放冰箱里")
print("第三步:把冰箱门关上")
print("--------程序结束---------")

2)选择结构(也叫分支结构)

程序根据条件表达式的结果选择性的执行部分代码,明确的让计算机知道在什么条件下,该去做什么,这个就是分支结构,分支结构又分为:单分支结构、双分支结构、多分支结构

  • 单分支结构:判断一个条件,如果这个条件成立,就执行其包含的某条语句或某个代码块

语法结构如下:

if 条件表达式:
    条件执行体


#单分支选择结构
例子1:
if 3<5: print('我在里面') print('我也在里面哈') print('我在外面') 例子2: money=1000 #余额 s=int(input("请输入取款金额:")) #取款金额存放在变量s中 #判断余额是否充足 if money>=s: money=money-s print("取款成功,余额为:",money)

这种结构的流程图如下:

  • 双分支结构(判断一个条件是否成立,如果条件成立,就执行其包含的某条语句或某个代码块;如果条件不成立,就执行另外的某条语句或某个代码块)

语法结构:

if 条件表达式:
    条件执行体1
else:
    条件执行体2

#双分支结构if...else,二选一执行
例子1:
if 3<5:
    print('3<5')
else:
    print('3不小于5')


例子2:
'''从键盘录入一个整数,编写程序让计算机判断是奇数还是偶数'''
num=int(input("请输入一个整数:"))
#条件判断
if num%2==0:
    print(num,"是偶数")
else:
    print(num,"是奇数")

双分支结构的流程图如下:

  • 多分支结构(判断多个条件,如果第一个条件不成立,则继续判断第二个条件,如果第二个条件不成立,则接着判断第三个条件......)

语法结构

if 条件表达式1:
    条件执行体1
elif 条件表达式2:
    条件执行体2
elif 条件表达式3:
    条件执行体3
...

eg:
score=77
if 0<score<60:
    print('D')
elif 60<score<80:
    print('C')
elif 80<score<90:
    print('B')
elif 90<score<100:
    print('A')
elif score==100:
    print('S')

另外多分支结构还有另外一个语法结构

if 条件表达式1:
    条件执行体1
elif 条件表达式2:
    条件执行体2
elif 条件表达式3:
    条件执行体3
else:
    条件执行体4


'''多分支结构,多选一执行
程序要求:从键盘录入一个整数,为学生成绩
90~100 A
80~89 B
70~79 C
60~69 D
0~59  E
小于0或者大于100  非法数据(不是成绩的有效范围)
'''

score=int(input("请输入成绩:"))
#判断
if score>=90 and score<=100:
    print("成绩为A")
elif score>=80 and score<90:
    print("成绩为B")
elif score>=70 and score<80:
    print("成绩为C")
elif score>=60 and score<70:
    print("成绩为D")
elif score>=0 and score<60:
    print("成绩为E")
else:
    print("成绩有误,不在成绩的有效范围")

多分支结构的流程图:

  • 嵌套if:就是if语句里面在嵌套if语句,建议最多不要超过3层嵌套

嵌套if的语法结构:

#嵌套if
if 条件表达式1:
    if 内层条件表达式:
        内层条件执行体1
    else:
        内层条件执行体2
else:
    条件执行体

'''if 嵌套
程序要求:
会员:购物金额>=200时打8折
     购物金额>=100时打9折
     购物金额<100时不打折
非会员:购物金额>=200时打9.5折
       购物金额<200时不打折
'''
answer=input("你是会员吗?")
money=float(input("请输入您的购物金额:"))
if answer=='y':        #会员
    if money>=200:
        print("打八折,付款金额为:",money*0.8)
    elif money>=100:
        print("打九折,付款金额为:",money*0.9)
    else:
        print("不打折,付款金额为:",money)
else:                  #非会员
    if money>=200:
        print("打9.5折,付款金额为:",money*0.95)
    else:
        print("不打折,付款金额为:",money)

嵌套if的流程图:

条件表达式:也叫if......else..的简写,就是将一个完整的if...else..结构整合成一个表达式来使用

语法结构:

#条件表达式
条件成立时执行的语句 if 条件表达式 else 条件不成立时执行的语句

'''程序要求:要求键盘录入两个整数,比较两个整数的大小'''
num1=int(input("请输入第一个整数:"))
num2=int(input("请输入第二个整数:"))
'''
print("--------常规判断写法---------")
if num1>=num2:
    print(num1,"大于等于",num2)
else:
    print(num1,"小于",num2)
'''

print("--------使用条件表达式来进行比较---------")
print(str(num1)+"大于等于"+str(num2) if num1>=num2 else str(num1)+"小于"+str(num2))