本章知识点:if语句、循环语句(while、for),break和continue语句、以及range函数
一、if 语句
1、作用
让程序根据条件选择性的执行某条语句或某些语句
2、语法:
if 真值表达式:
语句块1...
elif 真值表达式2:
语句块2...
elif 真值表达式3:
语句块3...
...
else:
语句块4
说明:
1、elif 子句也可有一个或多个,也可以没有
2、else 子句最多只能有一个,也可以没有
3、if 语句的真值表达式:
if 100:
print("真值")
等同于:
if bool(100):
print("真值")
4、if 语句嵌套
if 语句可以为作语句嵌套到另一个语句的内部示例:
# if_embed.py
# 此示例示意if语句嵌套
# 问题:
# 输入一个学生的成绩:
# 根据等级打印出,优,良,及格,不及格
score = int(input("请输入学生成绩: "))
if 0 <= score <= 100:
print("成绩合法")
if score >= 90:
print("优")
elif score >= 80:
print("良")
elif score >= 60:
print("及格")
else:
print("不及格")
else:
print("您的输入有误!")
5、条件表达式
语法:表达式1 if 真值表达式 else 表达式2
作用:
根据真值表达式的取值(True/False) 来决定执行表达式1还是表达式2,并返回相应的结果( 真值表达式 为True 则执行 表达式1 ,否则执行 表达式2,并返回执行结果)
示例:
# if_express.py
# 此示例示意条件表达式的用法
# 商场促销,满100减20
money = int(input("请输入商品总额: "))
pay = money - 20 if money >= 100 else money # 需要支付的钱
print("您需要支付:", pay, "元")
二、while 语句
1、作用:根据一定条件,重复的执行一条语句或多条语句
2、语法:
while 真值表达式:
语句块1
else:
语句块2
3、说明:
1、先执行真值表达式, 测试布尔值是否为True2、如果真值表达式的值为True,则执行语句1,然后再返回到第1步,重复进行测试
3、如果真值表达式的值为False,则执行else子句中的语句块2, 然后结束此while语句, 如果没有else子句, 则直接结束此while语句的执行
4、 else 子句部分可以省略(同 if类似)4、示例:
# while.py
# 问题:
# 输入一个整数n,根据这个整数打印n行的"hello"
n = int(input("请输入整数: "))
i = 0
while i < n:
print('hello')
i += 1
else:
print("i < n 此时为False才会执行我这一条语句")
print("此时i=", i, "n=", n)
print("程序结束")
5、while 语句的注意事项
1、要控制循环的真值表达式的值来防止死循环2、通常用真值表达式内的循环变量来控制循环条件
3、通常在循环语句块内改变循环变量来控制循环的次数和变量的走向
6、while 语句嵌套
while 语句本身也是语句,和其它语句一样,可以嵌入if语句和while语句语法:
while 真值表达式:
....
while 真值表达式2:
...
else:
...
else:
...
示例:
# 打印 1 ~ 20 的整数, 打印在一行内
# 1 2 3 4 5 ..... 18 19 20
# 打印以上10行这样的数
# 此示例示意循环语句的嵌套
j = 0
while j < 10:
# print("1 2 3 4 5 6 ...... ")
# 以下是打印一行 1 2 3 4 ....
i = 1
while i <= 20:
print(i, end=' ')
i += 1
print() # 换行
j += 1
三、for 语句
1、作用
用来遍历可迭代对象的数据元素
可迭代对象是指能依次获取数据元素的对象
2、可迭代对象包括
字符串str
----以下后面章节见----
列表 list
元组 tuple
字典 dict
集合 set
range函数返回的对象等
3、语法
for 变量列表 in 可迭代对象:
语句块1
else:
语句块2
4、示例
# for.py
# 此示例示意用for语句的用法
s = 'ABCDE'
for ch in s:
print("ch -->>", ch)
else:
print("可迭代对象已经不能再提供数据了!")
print('程序结束')
5、for 语句的嵌套
示例: for x in "ABC":
for y in '123':
print(x + y)
# 输出结果:A1 A2 A3 B1 B2 B3 C1 C2 C3
四、break 语句
1、作用
用于循环语句(while、for语句)中,用来终止当前循环语句的执行2、说明
1. 当break语句执行后,此循环语句break之后的语句将不再执行2. break 语句通常和if语句组合使用
3. break 语句终止循环时,循环语句的else子句的语句不会被执行
4. break 语句只能终止当前循环语句的执行,如果有循环嵌套时,不会跳出嵌套的外重循环
5. break 语句只能用在循环语句(while或for)内部使用
3、示例
# break.py
# 此示例示意break语句的用法
i = 1
while i < 6:
print("循环开始时:", i)
if i == 3:
break
print("循环结束时:", i)
i += 1
else:
print(i, "< 6 条件不成立")
print("while 语句结束,此时i的值为:", i)
五、死循环
1、死循环是指条件一直成立的循环
2、死循环通常用break 语句来终止循环
3、死循环的else子句永远不会执行
六、continue 语句
1、作用
用于循环语句(while,for语句)中,不再执行本次循环 continue之后的语句,重新开始一次新的循环
2、说明
1. 在for 语句中执行continue语句,将会从可迭代对象中取下一个元素,绑定变量后再次开始执行
2. 在while语句中执行continue,将会直接跳转到 while语句的真值表达式处重新判断循环条件
3、示例
# continue.py
# 此示例示意contine语句跳过奇数打印偶数
# 打印20以内的全部偶数
for x in range(20):
# 判断如果x是奇数,则取下一个数
if x % 2 == 1:
continue
print(x)
七、补充:range 函数
1、作用
用来创建一个生成一系列整数的可迭代对象(也叫整数序列生成器)
2、说明
range(stop)从零开始,每次生成一个整数后加1操作,直到stop为止(不包含stop)range(start, stop[, step]) 从start开始,每次生成一个整数后移动step, 直到stop为止(不包含stop, 且step可以是负整数)
3、格式
range(4) # 生成 0, 1, 2, 3
range(3, 6) # 生成 3, 4, 5
range(1, 10, 2) # 生成 1 3 5 7 9
range(5, 0, -2) # 生成 5, 3, 1
range(4, 0) # 生成空
4、示例
# continue.py
# 此示例示意range函数经常与for语句组合使用
# 打印20以内的全部偶数
# for x in range(20):
# 判断如果x是奇数,则取下一个数
if x % 2 == 1:
continue
print(x)
x += 1
##################################################################################
############################## 练 习 ##############################
##################################################################################
例子:153 = 1**3 + 5**3 + 5**3
# 方法1
for x in range(100,1000):
if x == (x%10)**3 + (x//10%10)**3 +(x//100)**3:
print(x ,end = ' ')
# 方法2
for x in range(100,1000):
y=str(x)
num = 0
for c in y:
num +=int(c)**3
if x == num:
print(x,end= ' ' )
# 方法3
for b in range(1,10):
for s in range(0,10):
for g in range(0,10):
n =b*100 + s*10 + g
if n == b**3 +s**3 +g**3:
print(n,end = ' ' )
print()
结果: 153 370 371 407