Python——控制语句(上)
- 051. PyCharm的下载
- 052. 选择结构_单分支
- 单分支选择结构
- 条件表达式详解
- 053. 选择结构_双分支
- 双分支选择结构
- 三元条件运算符
- 054. 选择结构_多分支
- 055. 选择结构的嵌套
- 056. 循环结构_while循环
- 循环结构
- while循环
- 057. 循环结构_for循环
- for循环和可迭代对象遍历
- 可迭代对象
- range对象
- 058. 嵌套循环
- 059. 嵌套循环练习
- 九九乘法表
- 打印指定信息
051. PyCharm的下载
052. 选择结构_单分支
选择结构通过判断条件是否成立,来决定执行哪个分支。选择结构有多种形式,分为:单分支、双分支、多分支。
单分支选择结构
if语句单分支结构的语法形式如下:
if 条件表达式:
语句 / 语句块
其中:
① 条件表达式:可以是逻辑表达式、关系表达式、算术表达式等等。
② 语句/语句块:可以是一条语句,也可以是多条语句。多条语句,缩进必须对齐一致。
# 获取键盘输入
a = input("请输入一个小于10的数字:")
# 单分支选择结构
if int(a)<10:
print(a)
运行结果:
条件表达式详解
在选择和循环结构中,条件表达式的值为False的情况如下:
False、0、0.0、空值None、空序列对象(空列表、空元组、空集合、空字典、空字符串)、空range对象、空迭代对象。
其他情况,均为True。这么看来,Python所有的合法表达式都可以看做条件表达式,甚至包括函数调用的表达式。
注意:条件表达式中,不能有赋值运算符“=” !
053. 选择结构_双分支
双分支选择结构
双分支结构的语法格式如下:
if 条件表达式:
语句1 / 语句块1
else
语句2 / 语句块2
# 获取键盘输入
a = input("请输入一个数字:")
# 双分支选择结构
if int(a)<10:
print("您输入的是小于10的数字")
else:
print("您输入的是大于等于10的数字")
运行结果:
三元条件运算符
Python提供了三元运算符,用来在某些简单双分支赋值情况。三元条件运算符语法格式如下:
条件为真时的值 if (条件表达式) else 条件为假时的值
# 获取键盘输入
a = input("请输入一个数字:")
# 三元条件运算符
print("小于10" if int(a)<10 else "大于等于10")
运行结果:
054. 选择结构_多分支
多分支结构的语法格式如下:
if 条件表达式1:
语句1 / 语句块1
elif 条件表达式2:
语句2 / 语句块2
···
elif 条件表达式n:
语句n / 语句块n
[else:
语句n+1 / 语句块n+1
]
多分支结构,几个分支之间是有逻辑关系的,不能随意颠倒位置。
# 多分支选择结构
score = int(input("请输入分数:"))
grade = ''
if score<60:
grade = '不及格'
elif score<80:
grade = '及格'
elif score<90:
grade = '良好'
else:
grade = '优秀'
print('分数是{0},等级是{1}。'.format(score,grade))
运行结果:
055. 选择结构的嵌套
选择结构可以嵌套,使用时一定要注意控制好不同级别代码块的缩进量,因为缩进量决定了代码的从属关系。语法格式如下:
if 表达式1:
语句块1
if 表达式2:
语句块2
else:
语句块3
else:
if 表达式4:
语句块4
# 选择结构的嵌套
score = int(input("请输入分数:"))
grade = ""
if score>100 or score<0:
print("请输入0-100的分数")
else:
if score>=90:
grade = "A"
elif score>=80:
grade = "B"
elif score>=70:
grade = "C"
elif score>=60:
grade = "D"
else:
grade = "E"
print("分数是{0},等级是{1}。".format(score,grade))
运行结果:
# 代码更少的办法
score = int(input("请输入一个分数:"))
grade = "ABCDE"
num = 0
if score>100 or score<0:
print("请输入一个0-100的分数")
else:
num = score//10
if num<6:
num = 5
print(grade[9-num])
运行结果:
056. 循环结构_while循环
循环结构
循环结构用来重复执行一条或多条语句。表达这样的逻辑:如果符合条件,则反复执行循环体的语句。在每次执行完后都会判断一次条件是否为True,如果为True则重复执行循环体里的语句。图示如下:
循环体里面的语句至少应该包含改变条件表达式的语句,以使循环趋于结束;否则,就会变成一个死循环。
while循环
while循环的语法格式如下:
while 条件表达式:
循环体语句
# 用while循环打印0-10的数字
num = 0
while num<=10:
print(num,end="\t")
num += 1
print()
print("*******************")
# 计算1-100之间数字的累加和
num2 = 0
sum_all = 0
while num2<=100:
sum_all = sum_all+num2
num2 += 1
print("1-100的累加和:",sum_all)
运行结果:
057. 循环结构_for循环
for循环和可迭代对象遍历
for循环通常用于可迭代对象的遍历。for循环的语法格式如下:
for 变量 in 可迭代对象
循环体语句
可迭代对象
Python包含以下几种可迭代对象:
- 序列。包含:字符串、列表、元组
- 字典
- 迭代器对象(iterator)
- 生成器函数(generator)
- 文件对象
# for循环结构
for x in (10,20,30):
print(x*30,end="\t")
print() # 换行
# 字符串
for x in "abcdef":
print(x,end="\t")
print() # 换行
# 字典
d = {'name':'张三','age':18,'sex':'男'}
for x in d:
print(x,end='\t') # 默认打印键
print() # 换行
for x in d.keys():
print(x,end='\t') # 打印键
print() # 换行
for x in d.values():
print(x,end='\t') # 打印值
print() # 换行
for x in d.items():
print(x,end='\t') # 打印键值对
运行结果:
range对象
range对象是一个迭代器对象,用来产生指定范围的数字序列。格式为:
range(start, end [,step])
生成的数值序列从start开始到end结束(不包含end)。若没有填写start,则默认从0开始。step是可选的步长,默认为1。
# range对象
for x in range(5):
print(x,end='\t')
print()
# 计算1-100之间数字的累加和、奇数和、偶数和
sum_all = 0 #1-100的累加和
sun_even = 0 #1-100偶数的累加和
sum_odd = 0 #1-100奇数的累加和
for x in range(101):
sum_all += x
if x%2==1:
sum_odd += x # 奇数和
else:
sun_even += x # 偶数和
print("1-100的累加和是{0},奇数和是{1},偶数和是{2}".format(sum_all,sum_odd,sun_even))
运行结果:
058. 嵌套循环
一个循环体内可以嵌入另一个循环,一般称为“嵌套循环”,或者“多重循环”。
# 循环嵌套
for x in range(5):
for y in range(5):
print(x,end="\t")
print()
运行结果:
059. 嵌套循环练习
九九乘法表
# 九九乘法表
for m in range(1,10):
for n in range(1,m+1):
print("{0}×{1}={2}".format(m,n,(m*n)),end="\t")
print() # 换行
运行结果:
打印指定信息
# 使用列表和字典存储表格的数据
r1 = dict(name="张三",age=18,grade=91)
r2 = dict(name="李四",age=19,grade=88)
r3 = dict(name="王五",age=18,grade=94)
tb = [r1,r2,r3]
# 打印出成绩大于90的学生信息
for x in tb:
if x.get("grade")>90:
print(x)
运行结果: