三大结构
顺序
分支
循环
**
分支
**
- 分支的基本语法
if 条件表达式:
语句1
语句2
语句3
…
-
条件表达式就是计算结果必须为布尔值的表达式
-
表达式后面的冒号不能少
-
注意if后面的出现的语句,如果属于if语句块,则必须同一个锁紧等级
-
条件表达式结果为True执行if后面的缩进的语句块
# if语句练习
# 如果age小于18岁,则打印信息“去叫家长”
age = 17
if age < 18:
print("去叫家长吧,孩纸")
print("我们不带你玩")
print("滚球的")
双向分支
- if…else…语句
if 条件表达式:
语句1
语句2
…
else:
语句1
语句2
…
-
双向分支有两个分支,当程序执行到if … else…语句的时候,一定会执行if或else中的一个,也仅执行一个
-
缩进问题,if和else一个层级,其余语句一个层级
# input的作用是
# 1. 在屏幕上输出括号内的字符串
# 2. 接受用户输入的内容并返回到程序
# 3. input返回的内容一定是字符串类型
gender = input("请输入性别:")
print("你输入的性别是:{0}".format(gender))
if gender == "nan":
print("来,我们纪念一下今天吧,代码敲十遍")
else:
print("发糖喽发糖喽")
print("你是女生,特殊照顾喽")
print("开始上课喽")
# 考试成绩判断
# 90以上: 输出优秀
# 80-90:良
# 70-80:中
# 60-70:平
# 60以下: 输出:我没你这撒学僧
# score 存放学生成绩
# 注意input的返回值类型
score = input("请输入学生成绩:")
# 需要把str转换成int
score = int(score)
if score>=90:
print("A")
if score>= 80 and score<90:
print("B")
if score >= 70 and score<80:
print("C")
if score >=60 and score<70:
print("D")
if score < 60:
print("起开,我没你这撒学僧")
多路分支
- 很多分支的情况,简称多路分支
if 条件表达式:
语句1
…
elif 条件表达式:
语句1
…
elif 条件表达式:
语句1
…
…
else:
语句1
…
-
elif 可以由很多个
-
else可选
-
多路分支只会选一个执行
# score 存放学生成绩
# 注意input的返回值类型
score = input("请输入学生成绩:")
# 需要把str转换成int
score = int(score)
if score>=90:
print("A")
elif score>= 80:
print("B")
elif score >= 70:
print("C")
elif score >=60 :
print("D")
else:
print("起开,我没你这撒学僧")
if语句其他
:
if语句可以嵌套使用,但不推荐
python没有switch-case语句
循环语句
- 重复执行某些固定动作或者处理基本固定的事物
- 分类
for循环
while循环
for循环
- for循环
for 变量 in 序列:
语句1
语句2
…
# 列表就是一列数字或者其他值,一般用中括号表示
# 例如 ['zhangsan', 'lisi', 'wangwu','jingjing']
# 打印学生列表姓名
for name in ['zhangsan', 'lisi', 'wangwu','jingjing']:
print(name)
# 打印学生列表姓名
# 如果是jingjign,那肯定是我的最爱呀,
# 如果是别的学生,那要冷酷的拒绝他
for name in ['zhangsan', 'lisi', 'wangwu','jingjing']:
print(name)
if name == "jingjing":
print("我的最爱{0}出现了".format(name))
else:
print("同学我们不约,不约,同学请自重")
range介绍
- 生成一个数字序列
- 具体范围可以设定
# range练习
# 打印从1-10的数字
# 注意,一般在python中,如果由表示数字范围的两个数,一般是包含左边数字不包含右边数字
# randint是特例,他左右都包含
# range函数在python2 和 python3中有严重区别
for i in range(1,11):
print(i)
for-else语句
- 当for循环结束的时候,会执行else语句
- else语句是可选语句
# for-else语句
# 打印列表中的同学,
# 如果没有在列表中,或者列表结束了,我们需要打印提示语句,表示不在爱了
# 打印学生列表姓名
# 如果是jingjign,那肯定是我的最爱呀,
# 如果是别的学生,那要冷酷的拒绝他
for name in ['zhangsan', 'lisi', 'wangwu','jingjing']:
print(name)
if name == "jingjing":
print("我的最爱{0}出现了".format(name))
else:
print("同学我们不约,不约,同学请自重")
else:
print("别的都不是我的学生,不会在爱了")
循环之break,contineu,pass
- break: 无条件结束整个循环,简称循环猝死
- continue:无条件结束本次循环,从新进入下一轮循环
- pass:表示略过,通常用于站位
for i in range(1,11):
if i == 7:
print("我找到了")
break
else:
print(i)
# continue语句联系
# 在数字1-10中,寻找所有偶数,找到偶数后打印偶数
for i in range(1,11):
if i % 2 == 1:
continue
else:
print("{0} 是偶数".format(i))
# continue语句 版本 2
# 在数字1-10中,寻找所有偶数,找到偶数后打印偶数
# 本案例完整显示continue的用法和作用
for i in range(1,11):
if i % 2 == 1:
continue
print("{0} 是偶数".format(i))
# pass例子,一般用于占位
# pass没有跳过功能
for i in range(1,11):
pass
print("wo zai zheli")
while循环
- 一个循环语句
- 表示当某条件成立的时候,就循环
- 不知道具体循环次数,但能确定循环的成立条件的时候用while循环
- while语法:
while 条件表达式:
语句块
#另外一种表达方法
while 条件表达式:
语句块1
else:
语句块2
# 如果说年利率是6.7%,本利是每年翻滚, 则多少年后本钱会翻倍
benqian = 100000
year = 0
while benqian < 200000:
benqian = benqian * (1+0.067)
year += 1 # year = year + 1
print("第 {0} 年拿了 {1} 块钱".format(year, benqian))
# 如果说年利率是6.7%,本利是每年翻滚, 则多少年后本钱会翻倍
# 如果拿到的钱翻倍,则用print庆祝一下
benqian = 100000
year = 0
while benqian < 200000:
benqian = benqian * (1+0.067)
year += 1 # year = year + 1
print("第 {0} 年拿了 {1} 块钱".format(year, benqian))
else:
print("大爷的,终于翻倍了,10多年呀")
print("当年10万可以盖个房子,现在儿子结婚,20万可以给他盖个厨房了")