写点什么

Python 分支结构详解

用户头像
若尘
关注
发布于: 2021 年 05 月 13 日
Python 分支结构详解

程序结构

  • 程序三种结构

  • 顺序

  • 循环

  • 分支

分支结构

  • 分支结构基本语法

  • 条件表达式就是计算结果必须为布尔值的表达式

  • 表达式后面的冒号不能少

  • 注意 if 后面出现的语句,如果属于 if 语句块,则必须同一缩进等级

  • 条件表达式结果为 True 执行 if 后面的缩进的语句块


# if 语句联系# 如果你们都给我钱,我就发财了a = " "
# 字符串的真假:# 只有空字符串为False,其余全为Trueif a: print("我就发财了") print("哈哈") print("日子还得过呀")
复制代码


我就发财了哈哈日子还得过呀
复制代码


# if联系二
age = 19
if age > 16: print("喝酒去") print("下次你请我")
复制代码


喝酒去下次你请我
复制代码

双向分支

  • if...else...表达

  • 语法结构:


# if 双向分支
# 如果你们都给我钱,我就发财了a = " "
# 字符串的真假:# 只有空字符串为False,其余全为Trueif a: print("我就发财了") print("哈哈")else: print("emmmm") print("继续吃土吧") print("日子还得过呀")
复制代码


我就发财了哈哈日子还得过呀
复制代码


# input的作用的是# 1. 在屏幕上输出括号内的字符串# 2. 接收用户输入的内容并返回到程序# 3. input返回的内容一定是字符串类型
# input负责接收用户输入并把内容返回给变量gender = input("请输入您的性别")#打印输入的内容print(gender)
if gender == "man": print("走,抽烟喝酒剃头") print("一起玩儿去呀")else: print("你到底是个啥子呀") print("对不起,我是男生")
复制代码


请输入您的性别manman走,抽烟喝酒剃头一起玩儿去呀
复制代码


# 考试成绩判断# 成绩由用户输入# 90以上:输出优秀# 80-90:良# 70-80:中# 60-70:平# 60以下: 输出: 我没你这傻学生
# 输入成绩,需要用到input函数# input输入的值全部是字符串类型score = input("请输入成绩,必须是数字呀")
# 解决输入是字符串的问题score = int(score)if score >= 90: print("你考得很好呀,小朋友")if score >= 80 and score < 90: print("凉凉")if score >= 70 and score <70: print("也行")if score >= 60 and score <70: print("就这么着吧")if score < 60: print("下次接着考")
复制代码


请输入成绩,必须是数字呀1下次接着考
复制代码

多路分支

  • 很多分支的情况,叫多路分支

  • if 条件表达式:语句 1...elif 条件表达式:语句 1...elif 条件表达式:语句 1...else:语句 1... ...

  • elif 可以有好多个,根据实际情况

  • else 可选

  • 多路分支最多只会执行一种情况

if 语句补充

  • if 语句可以嵌套使用,不推荐

  • python 没有 switch 语句


# score  存放学生的成绩# 注意input的返回值类型score = input("请输入学生成绩:")# 需要把str转换成intscore = int(score)
if score >= 90: print("A")elif score >= 80: print("B")elif score >= 70: print("C")elif score >= 60: print("D")else: print("起开,我没你这傻学生")
复制代码


请输入学生成绩:90A
复制代码

循环语句

  • 重复执行某一固定的动作或者任务

  • 分类

  • for

  • while

for 循环

  • 语法


# for循环案例# 比如[1,2,3,4,5,6,7]
list_one = [1,2,3,4,5,6,7]
for num in list_one: print(num) print(num+100) print(num+1000)
复制代码


11011001210210023103100341041004510510056106100671071007
复制代码


# 打印学生列表姓名# 如果是jingjing,那肯定是我的最爱呀# 如果是别的学生,那要冷酷的拒绝他
stu_list = ['王大眼','李美丽','王晓静']
for stu in stu_list: if stu == "王晓静": print("晓静你去了哪里") else: print("对不起同学,饶了老衲吧")
复制代码


对不起同学,饶了老衲吧对不起同学,饶了老衲吧晓静你去了哪里
复制代码

for-else 语句

  • for 循环结束的时候,有时候需要执行一些收尾工作,此时需要使用 else 语句

  • else 语句是可选的


# for-else语句# 打印列表中的同学# 如果没有在列表中,或者列表结束了,我们需要打印提示语句,表示不再爱了
stu_list = ['王大眼','李美丽','王晓静']
for stu in stu_list: if stu == "王晓静": print("晓静你去了哪里") else: print("对不起同学,饶了老衲吧")else: print("不会再爱了")
复制代码


对不起同学,饶了老衲吧对不起同学,饶了老衲吧晓静你去了哪里不会再爱了
复制代码

break,continue,pass

  • break:无条件结束整个循环,简称循环猝死

  • continue:继续

  • pass:只是占位符号,代表这句话啥也不干,没有跳过功能


# 确定一个数字队列中是否包含数字7# 确定是否包含,只要找到一个即可确定,不需要再继续往下找了,所以使用break
dig_list = [3,4,6,7,54,3,23,2,4,7]
for dig in dig_list: if dig == 7: print("哈哈哈,找到了") break else: print(dig)
复制代码


346哈哈哈,找到了
复制代码


# continue语句练习# 在数字1-10中,寻找所有偶数,找到偶数后打印偶数
dig_list = [1,2,3,4,5,6,7,8,9,10]
'''# continue案例1
for dig in dig_list: if dig % 2 == 0: print(dig) print("哈哈,你是个双的") else: continue'''
# 此段代码跟上面代码等价for dig in dig_list: if dig % 2 == 1: continue print(dig) print("哈哈,你是个双的")
复制代码


2哈哈,你是个双的4哈哈,你是个双的6哈哈,你是个双的8哈哈,你是个双的10哈哈,你是个双的
复制代码


# pass案例1
age = 19if age > 19: passelse: print("你还小")
复制代码


你还小
复制代码


# pass案例2
ages = [2,23,43,54,65,2]for age in ages: pass print(age)
复制代码


2234354652
复制代码

range 函数

  • 生成有序数列

  • 生成数字队列可以定制


# range案例1# 生成一个从1到100的数字序列# range的生成序列的两个数字是左包括右边不包括dig_list = range(1,101)for dig in dig_list:    print(dig)    # 一般在python中,连个表示范围的数字都是左包括右边不包括,randint函数是个特例# range函数在python2.x和python3.x中有严重区别
复制代码


123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
复制代码


# range3# 打印从1到9的数字for i in range(1,10):    print(i)
复制代码


123456789
复制代码

while 循环

  • 一个循环语句

  • 表示当条件成立的时候,就循环,适应于不知道具体循环次数,但能确定在某个条件成立的情况下就循环

  • while 语法


# 如果说年利率是6.7%,本利是每年翻滚,则多少年后本金会翻倍
benqian = 10000year = 0 # 存放需要翻本的年数
while benqian < 20000: benqian = benqian * (1 + 0.067) year += 1 # year = year + 1 print(year)
# 年利率案例2# 本案例中循环体没有被执行while benqian < 20000: benqian = benqian * (1 + 0.067) year += 1 # year = year + 1else: print(year)
复制代码


1111
复制代码


发布于: 2021 年 05 月 13 日阅读数: 11
用户头像

若尘

关注

还未添加个人签名 2021.01.11 加入

还未添加个人简介

评论

发布
暂无评论
Python 分支结构详解