python基础语法
流程控制语句
- 概述:指的是Python代码按照什么样的顺序来执行, 从上往下, 还是往左往右, 还是循环执行等.
- 分类
- 顺序结构:默认结构,按照从上到下,从左往右,依次逐行执行.
- 分支结构:多指if语句,满足特定条件下,才会执行对应的代码.
- 循环结构:指for,while语句,满足特定条件执行.
运算符演示
- 概述::用来连接变量或者变量值的符号
- 分类:
比较运算符:
# 案例: 演示: 比较运算符, ==, !=, >, >=, <, <=
# 细节1: 不要把 == 写成 = , 否则 结果可能不是你想要的.
# 细节2: 无论简单还是复杂, 比较运算符的最终结果一定是: 布尔值.
a, b = 10, 3
print(a != b) # True
print(a > b) # True
print(a >= b) # True
print(a >= 10) # True
print(a < b) # False
print(a <= b) # False
print(a <= 10) # True
print(a == b) # False
b1 = a == b # False
b2 = a = b # 3
print(b2, a, b) # 3, 3, 3
print(f'b1: {b1}, b2: {b2}') # b1: False, b2: 3
逻辑运算符
# 案例: 演示 逻辑运算符, and, or, not
# and: 逻辑与, 并且的意思, 即: 有False则整体为False. 如果全是True, 则整体为True.
print(a - 5 > b and b + 3 < a) # True and True => True
print(True and True) # True
print(True and False) # False
print(False and True) # False
print(False and False) # False
print('-' * 30)
# or: 逻辑或, 或者的意思, 即: 有True则整体为True. 如果全是False, 则整体为False.
print(True or True) # True
print(True or False) # True
print(False or True) # True
print(False or False) # False
print('-' * 30)
# not: 逻辑非, 取反的意思, 以前是False, 取反后是True. 以前是True, 取反后是False.
print(not True) # False
print(not False) # True
print(not not not False) # True
if语句
单分支:
- 概述:适用于条件判断
- 格式:
if 条件表达式:
语句体
- 执行流程:
- 1.先执行条件表达式,看其是否成立.
- 2.如果成立,则执行对应语句体.
- 3.如果不成立,则什么也不做.
案例:录入年龄, 并接收. 判断年龄是否不小于18岁. 如果满足就输出: 哥成年, 网红我来了
# 1.键盘录入年龄, 并接收
age = int(input('请录入您的年龄: ')) # 字符串值 => 整数值
# 2.判断年龄是否 不小于18岁
if age >= 18:
# 3.如果满足就输出: 哥已成年, 网吧可以去了!
print('哥成年, 网吧我来了!')
双分支:
- 概述:使用于条件判断
- 格式:
if 条件表达式:
语句体1
else:
语句体2
- 执行流程:
- 1.先执行条件表达式,看是否成立.
- 2.如果成立,执行语句体1.
- 3.如果不成立,执行语句体2
案例: 键盘录入年龄, 并接收. 判断年龄是否 不小于18岁. 如果满足就输出: 哥已成年, 网吧可以去了! 否则输出: 哥未成年, 回家吧!
# 1.键盘录入年龄, 并接收
age = eval(input("请输入年龄:"))
# 2.判断年龄是否 不小于18岁
if age >= 18:
# 3.如果满足就输出: 哥已成年, 网吧可以去了!
print("哥已成年, 网吧可以去了!")
else:
# 4.否则输出: 哥未成年, 回家吧!
print("哥未成年, 回家吧!")
多分支
- 概述:适用于条件判断
- 格式:
if 条件表达式1:
语句体1
elif 条件表达式2:
语句体2
elif 条件表达式3:
语句体3
......
else:
语句体n
- 执行流程:
- 1.先执行条件表达式1,看是否成立
- 2.成立,执行语句体1,整个if 语句执行结束.
- 3.不成立,判断条件表达式2,看是否成立.
- 4.成立,执行语句体2,整个if语句体结束.
- 5.不成立,判断条件表达式3,是否成立.
- 6.知道所有条件不成立,则执行最后一个else语句,然后整个if语句结束.
- 注意:测试值得时候:测试3种植.
- 合法值,边界值,非法值
案例: 根据考试成立, 发放奖励.
# 规则: 90 ~ 100: 奖励 游乐场通票一张.
# 规则: 80 ~ 89: 奖励 自助餐一次.
# 规则: 70 ~ 79: 奖励 玩具自选1个.
# 规则: 60 ~ 69: 奖励 练习题一套.
# 规则: 0 ~ 59: 奖励 男女混双 + 扫帚棒法.
# 优化版, Python独有写法.
# 根据考试成绩, 发放奖励.
if 90 <= score <= 100:
print('奖励: 游乐场通票一张')
elif 80 <= score < 90:
print('奖励: 自助餐一次')
elif 70 <= score < 80:
print('奖励: 玩具自选1个')
elif 60 <= score < 70:
print('奖励: 练习题一套')
elif 0 <= score < 60:
print('奖励: 男女混双 + 扫帚棒法')
else:
print('成绩不合法, 请重新录入!')
# 最终版.合理利用else的默认条件,即:if条件的反条件.
if score< 0 or score > 100:
print('成绩不合法,请重新输入')
elif score >= 90: # else的默认条件: score >= 0 and score <= 100
print('奖励: 游乐场通票一张')
elif score >= 80: # else的默认条件: score >= 0 and score < 90
print('奖励: 自助餐一次')
elif score >= 70: # else的默认条件: score >= 0 and score < 80
print('奖励: 玩具自选1个')
elif score >= 60: # else的默认条件: score >= 0 and score < 70
print('奖励: 练习题一套')
else: # else的默认条件: score >= 0 and score < 60
print('奖励: 男女混双 + 扫帚棒法')
if 嵌套
- 概述:if语句的语句体还是一个if语句.
- 格式:
if 条件表达式:
语句体1
if 条件表达式:
....
else:
语句体2
else:
语句体2
....
- 注意:无论何种情况,嵌套一般不超过三层.
案例:输入公交卡当前的余额,只要超过2元,就可以上公交车;如果车上有空座位,就可以坐下
# 1. 提示用户录入公交卡的余额, 并接收.
money = eval(input("请输入公交卡余额: "))
# 2. 判断公交卡余额是否大于2元, 如果满足, 则提示: 可以上车.
if money > 2:
# 2.1 提示上车.
print('滴, 刷卡成功, 请上车!')
# 2.2 提示用户录入 空座位数量.x
seat = eval(input("请输入空座位数量: "))
# 2.3 判断是否有空座位, 如果满足, 则提示: 可以坐下.
if seat > 0:
print('有座位, 可以坐下!')
else:
# 2.4 如果没有空座位, 则提示: 无法坐下.
print('无座位, 站一会儿吧!')
# 3. 如果不满足, 则提示: 余额不足, 无法上车.
else:
print('滴, 刷卡失败, 无法上车, 可以跟车跑!')
三元表达式
- 概述:用来简化if…else语句
- 格式:
# 格式:
值1 if 条件 else 值2
#如果你需要把三元的执行结果赋值给变量, 则上述的写法还可以改成:
变量名 = 值1 if 条件 else 值2
"""
案例: 比较两个整数, 获取其最大值, 并打印结果.
# 1. 定义变量, 记录要比较的两个整数.
a, b = 10, 30
# 2. 具体的比较过程.
# 方式1: if.else语法搞定.
if a > b:
max = a
else:
max = b
# 方式2: 三元表达式搞定.
max2 = a if a > b else b
# 3. 打印结果.
print(f'最大值为: {max}')
print(f'最大值为: {max2}')
while 循环语句
- while循环入门:
- 概述:在满足特定条件下重复做某些事.
- 语法:适用于循环次数不固定.
- 循环语法四个核心:
1. 初始化条件.
表示循环从哪里开始. 一般写成 i = 0, 或者 i = 1
2. 判断条件.
表示循环什么时候结束. 即: 判断条件成立, 则循环执行. 不成立, 则循环语句结束.
i <= 5
3. 循环体.
表示条件满足的时候, 重复做的事儿.
4. 控制条件.
用于控制初始化条件变化的. 例如: i += 1
- 格式:
初始化条件1
while 判断条件2:
循环体3
控制条件4
- 执行流程:
第一次循环:1,2,3,4 假设:判断条件成立.
第二次循环:2,3,4 假设:判断条件成立.
第三次循环:2 判断条件不成立,循环结束.
案例: 打印 5次 “hello world”
# 1. 初始化条件.
i = 1
# 2. 判断条件.
while i <= 5:
# 3. 循环体
print('hello world')
# 4. 控制条件.
i += 1 # 控制条件不写, 可能发生: 死循环.
while求和案例:计算1 - 100之间, 所有的整数和.
# 定义求和变量
sum = 0
# 定义初始化变量
i= 0
# 判断条件
while i <= 100:
# 循环体
sum += i
# 控制条件
i += 1
# 打印结果
print(f'整数和为:{sum}')
while循环嵌套
- 概述:1个循环的循环体是另1个循环语句.
- 格式:
while 条件:
... 循环体 ...
while 条件:
... 循环体 ...
- 注意:
1.执行总数 = 外循环执行次数 * 内循环执行次数
2.外循环执行一次,内循环执行一圈.
3.如下案例当中,外循环控制的是:行数<内循环控制的是:每行的列数.
案例1:
# 打印矩形, 5行5列.
i = 1
while i <= 5: # i的值: 1, 2, 3, 4, 5 外循环控制: 行数
# print(f'第 {i} 行')
# 如下是具体的 打印 1行的 完整代码.
j = 1
while j <= 5: # j的值: 1, 2, 3, 4, 5 内循环控制: 每行的列数
print('*', end='')
j += 1 # 内循环的 控制条件
print() # 表示换行.
i += 1 # 外循环的 控制条件.
案例:打印正三角形, 5行5列
i = 1
while i <= 5: # 外循环控制: 行数 i的值: 1, 2, 3, 4, 5
# print(f'第 {i} 行')
# 如下是具体的 打印 1行的 完整代码.
j = 1
while j <= i: # 内循环控制: 每行的列数 j的值: 1, 1,2 1,2,3 1,2,3,4 1,2,3,4,5
print('*', end='')
j += 1 # 内循环的 控制条件
print() # 表示换行.
i += 1 # 外循环的 控制条件.
案例:打印99乘法表
# 要求格式如下:
1 * 1 = 1
1 * 2 = 2 2 * 2 = 4
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
# 定义初始化变量i
i = 1
whilewhile i <= 9:
# 内循环控制:(每行的列数)
j = 1
while j <= i:
print(f'{j} * {i} = {i * j}', end='\t')
j += 1 # 内循环控制条件
print()
i+=1 # 外循环控制条件
for 循环介绍:
- 概述:它和while循环类似, 都属于循环结构的一种, 一般适用于: 固定次数 的场景.
格式:
for 变量名 in 容器类型:
循环体
- 小技巧:
因为for循环格式比while简单,所以以后优先考虑for搞不定在考虑while.
案例: for循环, 打印 1 - 5之间的整数.
# 扩展: range(start, end, step) 生成指定区间的数字序列, 包左不包右. step表示步长, 默认的步长是: 1
# for i in range(1, 6, 1): # 生成 1 - 6之间, 包左不包右, 步长为1的数字序列, 即: 1, 2, 3, 4, 5
# for i in range(6): # 它相当于 range(0, 6, 1), 即: 不写起始索引默认从0开始, 不写步长默认是1
for i in range(1, 6): # 效果同上, 步长可以省略, 默认是: 1
print(i)
案例: for循环, 打印99乘法表.
for i in range(1, 10): # 外循环, 控制: 行数. i的值: 1 - 10, 包左不包右.
for j in range(1, i + 1):
print(f'{j} * {i} = {i * j}', end='\t')
print() # 每行打印完之后, 记得: 换行.
控制跳转语句
- 概述:控制跳转语句指的是 break 和 continue 这两个关键字.
- 作用:
break: 终止循环的, 即: 循环不再继续往下执行.
continue: 结束本次循环, 开始下次循环的.
需求: 观察如下代码, 在指定位置填充内容, 使其分别打印 2次, 7次, 13次 Hello World!
for i in range(1, 11): # i的值: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 包左不包右.
if i % 3 == 0:
# 在这里填充内容.
# break # 终止循环.
# continue # 结束本次循环的, 继续下次循环.
print(f'hello world! {i}') # 3, 6, 9
print(f'hello world! {i}')
总结
希望以上内容对大家学习有所帮助,持续更新中~~~