python学习_分支结构(if...else...)
一、程序的组织结构
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语句
嵌套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))