程序结构
- 程序的三种结构:
- 顺序
- 循环
- 分支
分支结构
-
分支结构基本语句
if 条件表达式:
语句1
语句
… -
条件表达式就是计算结果必须为布尔值的表达式
-
表达式后面的冒号不能少
-
注意if后面的出现的语句,如果属于if语句块,则必须同一个缩进等级
-
条件表达式的结果为True执行if后面的缩进的语句块
# if 语句案例
a = "都爱我"
# 字符串的真假
# 只有空字符串为 False,其余全为 True。空字符串为字符串长度为零。
a = " "
if a :
print("发财了")
print("取钱")
print("日子还要过")
双向分支
- if …else …表达
- 语法结构
if 条件表达式:
语句1
语句2
else:
语句1
…
# input 的作用
# 1、在屏幕输出括号内的字符串
# 2、接受用户输入的内容并返回到程序
# 3、input的返回内容一定是字符串类型
gender = input("请输入你的性别?")
print(gender)
if gender == "man":
print("喝酒")
else:
print("你是个什么?")
请输入你的性别?m
m
你是个什么?
gr = input("请输入你的成绩0-100?")
gr = int(gr)
if gr > 90:
print("优秀")
elif gr > 80 and gr <= 90:
print("良")
elif gr > 70 and gr <= 80:
print("中")
elif gr > 60 and gr <= 70:
print("平")
else:
print("撒学生")
请输入你的成绩0-100?90
良
多路分支
- 很多分支情况,叫多路分支if条件表达式:
if 条件表达式:
语句1
…
elif:
语句1
…
elif:
语句1
if语句补充
- 可以嵌套使用,不推荐
- Python没switch 语句
循环语句
- 重复执行某一个固定的动作或者任务
- 分类
- for
- while
for循环
- 语法:
for 变量 in 序列:
语句1
语句2
…
# for循环案例
list_one = [1,2,3,4,5]
for shuzi in list_one:
print(shuzi)
print(shuzi + 100)
print(shuzi + 1000)
# for 循环案例
stu_list = ["王大","网二","网三"]
for stu in stu_list:
if stu == "网三":
print("你好")
else:
print("滚")
for …else 语句
- for循环结束的时候,有时候需要执行一些收尾的工作,此时需要使用到else语句。
# for - else 循环案例
stu_list = ["王大","网二","网三"]
for stu in stu_list:
if stu == "网三":
print("你好")
else:
print("滚")
else:
print("不爱了")
break, continue, pass
- break:无条件结束整个循环,简称循环猝死。
- continue:结束本轮循环进入下轮循环,继续。
- pass:只是一个占位符,代表这句话啥也不干,没有跳过功能。
# 在一个数字队列中,确定是否包含数字7。
dig_list = [3,2,84,8,848,7,858,4854]
for dig in dig_list:
if dig == 7:
print("哈哈找到了")
break
else:
print(dig)
3
2
84
8
848
哈哈找到了
# continue 语句练习
#在数字 1-10中,寻找所有的偶数,找到偶数后打印偶数
dig_list = [1,2,3,4,5,6,7,8,9,10]
for dig in dig_list:
if dig % 2 == 0:
print(dig)
print("哈哈你是偶数")
else:
continue
2
哈哈你是偶数
4
哈哈你是偶数
6
哈哈你是偶数
8
哈哈你是偶数
10
哈哈你是偶数
# pass案例1
age = 19
if age > 19:
pass
else:
print("小")
小
#pass案例2
ages = [2,3,4,5,6,7]
for age in ages:
pass
print(age)
2
3
4
5
6
7
range 函数
- 生成有序数列
- 生成数字队列是可以定制
- range生成的数列是左包括右不包括
- 一般Python中,函数表示范围的数字都是左包括右不包括,randint函数是一个特例。
# range 案例 1
# 生成一个 1 到100 的数字序列
dig_list = range(1,100)
for dig in dig_list:
print(dig)
while 循环
- 一个循环语句
- 表示当条件成立的时候,就循环,适应于不知道具体循环次数,但能确定某个条件就循环。
- while语法:
while 条件表达式:
语句1 - 另一种表达式:
- while 条件表达式:
语句1
else:
语句 2
# 年利率为 6.7% ,多少年可以翻倍
benjin = 10000
year = 0
while benjin < 20000:
benjin = benjin * (1 + 0.067)
year = year + 1
else:
print("本金:",benjin)
print("年份:",year)
本金: 20408.383830545245
年份: 11