文章目录
一、Python的流程控制
1.1 if条件分支语句
Python条件语句就是通过一条或者多条语句执行的结果(Ture/False)来决定执行的代码块。
if 单分支语句
if 逻辑语句
语句(块)
如:
if True:
print("Hello")
learing = 'python'
if learing == 'python':
print('learing python')
if 双分支语句
if 逻辑语句1:
语句(块)1
else:
语句(块)2
如:
learing = 'python'
if learing == 'Java':
print('learing Java')
else:
print('learing python')
if 多分支语句
elif:将else if缩写为elif
if 逻辑语句1:
语句(块)1
elif 逻辑语句2:
语句(块)2
……
elif 逻辑语句n-1:
语句(块)n-1
else:
语句(块)n
如:
score = int(input("请输入成绩(百分制):"))
if score > 100:
print("数据错误")
elif 90 <= score:
print("等级为A")
elif 80 <= score:
print("等级为B")
elif 70 <= score:
print("等级为C")
elif 60 <= score:
print("等级为D")
elif 0 <= score:
print("等级为E")
练习:
从控制台输入一个三位数,判断是否为水仙花数。
水仙花数: 153 = 1 3 + 5 3 + 3 3 153=1^3 +5^3 +3^3 153=13+53+33
#方法一
num = int(input("请输入一个三位数的数:"))
bai = num // 100
shi = num // 10 % 10
ge = num % 10
if bai ** 3 + shi ** 3 + ge ** 3 == num:
print(str(num) + "是水仙花数")
else:
print(str(num) + "不是水仙花数")
#方法二
num =input("请输入一个三位数的数:")
if len(num)!=3:
print("数据错误")
elif int(num[0])**3 + int(num[1])**3 +int(num[2])**3 == int(num):
print(num+"是水仙花数")
else:
print(num + "不是水仙花数")
1.2 while 语句
所谓循环,就是用来执行部分代码在一定条件下重复执行的代码
格式:
while 逻辑语句:
语句(块)
如:
i = 0
while True:
print("I love python!")
i += 1
if i == 5:
break
练习:
1.利用while来打印1~100的数字
2.利用while求1~100的和
3.利用while求1~100内的所有的偶数和
4.求100~999内的水仙花数
#1.利用while来打印1~100的数字
i = 1
while i <101:
print(i,end=' ')
i+=1
#2.利用while求1~100的和
j = 1
sum_1 = 0
while j <101:
sum_1 += j
j+=1
print("1~100的和为:"+str(sum_1))
#3.利用while求1~100内的所有的偶数和
p = 1
sum_2 = 0
while p < 101:
if p % 2 == 0:
sum_2 += p
p += 1
print("1~100的偶数和为:" + str(sum_2))
#4.求100~999内的水仙花数
q = 100
print("100~999的水仙花数有:",end="")
while q < 1000:
bai = q // 100
shi = q // 10 % 10
ge = q % 10
if bai ** 3 + shi ** 3 + ge ** 3 == q:
print(q, end=" ")
q += 1
1.3 for 循环语句
Python中for循环可以用来遍历任何序列(字符串、列表、元组等)
格式:
for i in 序列:
语句(块)
如:
for i in range(2,101,2):
print(i,end=" ")
练习:
1.利用for来打印1~100的数字
2.利用for求1~100的和
3.利用for求1~100内的所有的偶数和
4.求100~999内的水仙花数
#1.利用for来打印1~100的数字
for i in range(1, 101):
print(i, end=" ")
#2.利用for求1~100的和
sum_1 = 0
for j in range(1, 101):
sum_1 += j
print("1~100的和为:"+str(sum_1))
#3.利用for求1~100内的所有的偶数和
sum_2 = 0
for p in range(2,101,2):
sum_2 += p
print("1~100的偶数和为:" + str(sum_2))
#4.求100~999内的水仙花数
print("100~999的水仙花数有:",end="")
for q in range(100,1000):
bai = q // 100
shi = q // 10 % 10
ge = q % 10
if bai ** 3 + shi ** 3 + ge ** 3 == q:
print(q, end=" ")
q += 1
二、语句补充
2.1 range()
range(end) #[0,end-1],end为整数
range(start,end) #[start,end],两个数都为整数
range(start,end,step) #[start,start+step,start+step*2,...,end),三个数都为整数
如:
for i in range(2,101,2):
print(i,end=" ")
2.2 break 和 continue
- break用来结束一个循环,跳出循环体
- continue终止本次循环的动作,直接进入下一次循环
for i in range(2,15,2):
if i == 10:
break
print(i, end=" ")
#结果:2 4 6 8
for i in range(2,15,2):
if i == 10:
continue
print(i, end=" ")
#结果:2 4 6 8 12 14
2.3 while…else 和 for…else
while…else和for…else中while和else是一块的,for和else也是一块的
当有break或者return的时候就会跳出while,如果没有break或者return,不管while是否执行,都会执行else语句