人生苦短,我学python
一、简介
在Python当中主要的流程分为3大结构:顺序结构、分支结构、循环结构
- 顺序结构:程序从头到尾的顺序依次执行每一条python代码。
- 分支结构:可以让程序拐弯,有选择性的执行代码;
- 循环结构:程序可以杀个回马枪,不断的重复执行同一段代码
二、分支结构
Python的代码结构:创始人有意让违反了缩进原则的程序不能通过编译,会报错
python语言利用缩进来表示 语句块的开始和退出。
- 增加缩进表示语句块的开始
- 减少缩进表示语句块的退出
if xxx: 表示if语法里面 表示if语法外面
1、if语句(单向分支)
if语法:
if 布尔值: 【判断条件=》布尔值】 判断成立执行的语句块 # 注意缩进,表示进入if语句块 age = int(input("请输入年龄:")) if age < 18: # 如果 age小于18 print("1") # 选择性执行 print("2") # 一定执行
2、if…else(双向分支)
2选1
if…else : 如果…否则
if 条件表达式: 条件成立执行的语句块 else: 条件不成立执行的语句块 if age < 18: # 双向分支, 一定只会执行两条路中一条 print("1") else: print("2")
3、if…elif…else(多向分支)
n选1
if:如果
elif:否则如果
else:否则
# 从上往下判断,如果为True了则就不会再往下执行了 if 条件表达式1: 执行语句1 elif 条件表达式2: 执行语句2 elif 条件表示3: 执行语句3 else: 执行语句4
4、if语句嵌套
if 表达式1: if 表达式2: 语句块2 else: 语句块3 else: 执行语句块2 if age >= 0: if 0 <= age <= 6: print("~~正在童年阶段~~") elif 7 <= age <= 17: print("~~正在少年阶段~~") elif 18 <= age <= 40: print("~~正在青年阶段~~") elif 41 <= age <= 65: print("~~正在中年阶段~~") else: print("~~正在老年阶段~~") else: print("请输入合法数字")
5、pass关键字
pass:有时候程序需要占有一个位置,但是又不想做事情,可以通过pass实现
pass什么都不会做,填个坑用的。
age = int(input("请输入年龄:")) if age >= 0: pass else: print("请输入合法数字")
6、三目运算符
a = 666 b = 500 if a > b: print(a) else: print(b)
成立返回的值 if 条件表达式 else 不成立返回值的 print(a if a > b else b)
三、循环结构
1、while循环
while循环与if条件的 语法格式类型:
if 条件表达式: 代码块 while 条件表达式: 代码块 while 0 < 10: # 条件表达式为False的时候才结束 print("进来了") # 永久执行下去 叫死循环 a = 0 # 1.初始变量 while a < 10: # 2.设置出口 print("进来了") a = a + 1 # 3.接近出口 # 0 < 10 => True # 1 < 10 => True # 2 < 10 => True # ... # 9 < 10 => True # 10 < 10 => F # 1.初始变量 ☆ num = 1 # 2.当num小于100的时候,进入循环体 while num <= 100: print("num =", num) # 3.变量变化率 num += 1 print("循环结束") sum = 0 # 初始化一个去累计的变量 num = 1 # 从1开始 while num < 101: sum = sum + num # sum = 0 + 1 + 2 + 3 + 4+ 5 + 6 + 7 num += 1 print(sum)
2、for循环
for 变量名 in range(start,stop,step): 语句块
for输出1~100
for i in range(1, 101): print(i)
for输出1~100的和
# 1 + 2 + 3 + 4 + .... 100 s = 0 for i in range(1, 101): s += i print(s)
登录小程序
账号:root
密码:123456
""" 程序运行提示输入账号和密码,如果账号和密码错误 重新输入账号密码,如果登录成功则退出程序 """ while True: user = input("请输入账号:") pwd = input("请输入密码:") if user == "root" and pwd == "123456": print("登录成功") break # 直接结束循环 else: print("用户名或者密码错误") print("欢迎来到银行")
3、break和continue
break
和continue
是循环中满足一定条件退出循环的两种方式
break:结束整个循环
continue:结束本次循环,继续执行下一次循环
摆烂阳吃苹果,一共10个苹果
1.如果吃的过程中,吃到第3个的时候觉得吃饱了,则不需要再吃了。
break --> 终止整个循环
2.如果吃的过程中,吃到第3个的时候吃到了一个毛毛虫,代表第3个不能吃了扔掉第3个,继续吃第4个苹果。
continue --> 终止当前一次循环,但是整个循环还在继续执行
# 情况一 # for i in range(1, 11): # if i == 4: # print("吃饱了") # break # print("正在吃第" + str(i) + "个苹果") # 情况二 for i in range(1, 11): if i == 3: print("吃到毛毛虫了~扔掉") continue print("正在吃第" + str(i) + "个苹果")
如果range是从0开头,可以省略开头
4、循环嵌套
for i in range(2): print("==========外层") for j in range(5): print("====内层")
打印一栋楼的所有房间号:
for j in range(1,6): for i in range(1, 10): print(str(j) + "0" + str(i), end=" ") print() # 尝试使用 while + while实现 # 尝试使用 while + for 实现 # 尝试使用 for + while 实现 for j in range(1, 6): i = 1 while i < 10: print(str(j) + "0" + str(i), end=" ") i += 1 print()
四、序列类型遍历
遍历:将一个序列里面的所有元素,从头到尾,一个一个的给访问到。通俗来讲就是 循环从第一个元素到最后一个元素依次访问一次
遍历的第一种方式:下标法
# 下标模板 for i in range(len(序列)): print(序列[i]) # 序列[i] 表示序列中的元素 工具包 = ["斧头", "锤子", "扳手", "稿子","木稿子"] # 规则 最大下标 = 长度 - 1 for i in range(len(工具包)): print(工具包[i]) # i:下标 工具包[i]:元素
遍历的第二种方式:迭代法
# 迭代模板 for i in 序列类型: print(i) 工具包 = ["斧头", "锤子", "扳手", "稿子", "木稿子"] for i in 工具包: print(i) # i:元素
总结:以后比较常用的遍历方式就2种 # 下标模板 for i in range(len(序列)): print(序列[i]) # 序列[i] 表示序列中的元素 # 迭代模板 for i in 序列类型: print(i)