三大结构
- 分支
- 顺序
- 循环
1 分支
1.1 单向分支
-
分支的基本语法
if 条件表达式:
语句1
语句2
语句3
… -
条件表达式就是计算结果必须为布尔值的表达式
-
表达式后面的冒号不能少
-
注意if后面的出现的语句,如果属于if语句块,则必须同一个缩进等级
-
条件表达式结果为True执行if后面的缩进的语句块,缩进使用tab键
# if语句练习1
# 如果age小于18岁,则打印信息“去叫家长”
age = 27
if age < 18:
print("小弟弟,你还没有成年哟")
# if语句练习2
a='' # 空字符串
if a:
print("我爱python")
print("我要用大数据")
print("*"*20)
b=' ' # 非空字符串
if b:
print("我爱python")
print("我要用大数据")
#字符串的真假:
# 只有空字符串为False,其余全为True
# if语句练习3
# 如果age大于30岁,则打印信息“奔3顺利结束”,否则,打印“你还是个孩子”
age = 33
if age > 30:
print("奔3顺利结束")
print("你还是个孩子")
1.2 双向分支
-
if…else…语句
if 条件表达式:
语句1
语句2
…
else:
语句1
语句2
… -
双向分支有两个分支,当程序执行到if … else…语句的时候,一定会执行if或else中的一个,也仅执行一个
# if语句练习1
'''
input的作用是
1. 在屏幕上输出括号内的字符串
2. 接受用户输入的内容并返回到程序
3. input返回的内容一定是字符串类型
'''
gender = input("请输入性别:")
print("你输入的性别是:{0}".format(gender))
if gender == "男":
print("原来你是个小哥哥")
else:
print("小姐姐原来是你")
print("放弃睡觉起来嗨")
# if语句练习2
'''
考试成绩判断
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("还是好好学习吧,兄代!")
1.3 多路分支
-
很多分支的情况,简称多路分支
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("还是好好学习吧,兄代!")
1.4 if语句其他:
- if语句可以嵌套使用,但不推荐,代码简洁为王
- python没有switch-case语句
2 循环语句
- 重复执行某些固定动作或者处理基本固定的事物
- 分类
- for循环(循环次数固定)
- while循环 (循环次数不固定)
2.1 for循环
for 变量 in 序列:
语句1
语句2
...
# 列表就是一列数字或者其他值,一般用中括号表示
# 例如 ['zhangsan', 'lisi', 'wangwu','zhaoliu']
# 打印学生列表姓名
for name in ['zhangsan', 'lisi', 'wangwu','zhaoliu']:
print(name)
'''
打印学生列表姓名
如果是Jay,输出: 找到你了
否则,输出:抱歉,你不是Jay!
'''
for name in ['zhangsan', 'lisi', 'wangwu','zhaoliu','Jay']:
print(name)
if name == "Jay":
print("{0}小哥哥,找到你了".format(name))
else:
print("抱歉,你不是Jay!")
range介绍
- 生成一个数字序列
- 具体范围可以设定
# range练习
'''
打印从1-10的数字
注意,一般在python中,如果由表示数字范围的两个数,一般是包含左边数字不包含右边数字
randint是特例,他左右都包含
range函数在python2 和 python3中有严重区别
'''
for i in range(1,11):
print(i)
for循环之break、continue、pass
- break: 无条件结束整个循环,简称: 循环猝死
- continue:无条件结束本次循环,从新进入下一轮循环
- pass:表示略过,通常用于占位
# 在数字1-10中,寻找数字9,一旦找到,打印出来,其余则什么都不做
# for 循环中的变量表示,一般用i,k,m,n,或者indx,idx,item之类
# 在python中,如果循环变量名称不重要,可以用下划线(_)代替
for i in range(1,11):
if i == 6:
print("我找到了")
break
else:
print(i)
# continue语句联系 版本1
# 在数字1-10中,寻找所有偶数,找到偶数后打印偶数
for i in range(1,19):
if i % 2 == 1:
continue
else:
print("{0} 是偶数".format(i))
# continue语句 版本 2
# 在数字1-10中,寻找所有偶数,找到偶数后打印偶数
for i in range(1,11):
if i % 2 == 0:
print("{0} 是偶数".format(i))
# continue语句 版本 3
# 在数字1-10中,寻找所有偶数,找到偶数后打印偶数
# 本案例完整显示continue的用法和作用
for i in range(1,11):
if i % 2 == 1:
continue
print("{0} 是偶数".format(i))
# pass例子,一般用于占位
# pass没有跳过功能
# 案例1 pass
age = 19
if age >19:
pass # 占位符
else:
print('你还小')
# 案例2 pass
for i in range(1,11):
pass
print("我爱自己") # 说明pass并不是简单的跳过
2.2 while循环
-
一个循环语句
-
表示当某条件成立的时候,就循环
-
不知道具体循环次数,但能确定循环的成立条件的时候用while循环
-
while语法:
while 条件表达式: 语句块
另外一种表达方法
while 条件表达式: 语句块1 else: # 循环结束后,只能执行一次 语句块2
# 复利计算:年利率是4%,每年翻滚, 则多少年后本钱会翻倍
capital = 10000
year = 0
while capital < 20000:
capital = capital * (1+0.04)
year += 1 # year = year + 1
print("第 {0} 年拿了 {1} 块钱".format(year, capital))
# 复利计算:年利率是4%,每年翻滚, 则多少年后本钱会翻倍
# 如果本金翻倍,则用print一下
capital = 100000
year = 0
while capital < 200000:
capital = capital * (1+0.04)
year += 1 # year = year + 1
print("第 {0} 年拿了 {1} 块钱".format(year, capital))
else:
print("终于见到回头钱了")
目录
上一篇:chap1-03 python表达式
下一篇:chap1-05 函数
本次笔记来自于“免费Python全系列教程全栈工程师”的学习