Python菜鸟编程第二课之流程控制
1. if条件分支语句
Python条件语句就是通过一条或者多条语句执行的结果(True/False)来决定执行的代码块。
- if单分支语句
if 逻辑语句:
语句(块)
demo:
#demo1
print("Hello World")
if False:
print("我正在学习Python!")
print("welldone")
#demo2
learning = "python"
if learning == "python":
print("正巧啊我也在学习Python")
print("Nice to meet you")
运行结果:
demo1:
Hello World
welldone
demo2:
正巧啊我也在学习Python
Nice to meet you
- if双分支语句
if 逻辑语句1:
语句(块)1
else:
语句(块)2
demo:
learning = "java"
if learning == "python":
print("正巧啊我也在学习Python")
else:
print("小明也在学java")
print("Nice to meet you")
运行结果:
小明也在学java
Nice to meet you
- if 多分支语句
C语言中:
if
if
if
else
else
else
Python中: else if 缩写成elif
if 逻辑语句1:
语句(块)1
elif 逻辑语句2:
语句(块)2
...
elif 逻辑语句n-1:
语句(块)n-1
else:
语句(块)n
练习题:
根据百分制考试返回五级分制成绩。
cj = int(input("请输入你的分数:"))#将输入强制转换为int
if cj < 60:
print("你的成绩为E")
elif cj < 70:
print("你的成绩为D")
elif cj < 80:
print("你的成绩为C")
elif cj < 90:
print("你的成绩为B")
else:
print("你的成绩为A")
练习题:
输入一个三位数,判断是否为水仙花数。
num=input("请输入一个三位数,判断该数是否为水仙花数:")
if len(num)==3:
sum=int(num[0])**3+int(num[1])**3+int(num[2])**3
if sum==int(num):
print("这个数是水仙花数")
else:
print("这个数不是水仙花数")
else :
print("您输入的不是三位数,请重新输入")
2. while语句
while循环语句:所谓循环语句,就是用来执行在一定条件下重复执行的代码。
while 逻辑语句:
语句(块)
#demo1
i = 0
while True:
print("I love Python")
i += 1
if i == 5:
break
#demo2
i = 0
while True:
print("I love Python")
if i == 5:
break
i += 1
demo1运行结果:输出5条
I love Python
I love Python
I love Python
I love Python
I love Python
demo2运行结果:输出6条
I love Python
I love Python
I love Python
I love Python
I love Python
I love Python
练习题:
利用while来打印1-100的数字。
i=1
while i<=100:
print(i)
i +=1
练习题:
利用while求1-100的和
num = 1
sum = 0
while num <= 100:
sum = sum + num
num += 1
print(sum)
运行结果
5050
练习题:
利用while求1-100内所有偶数的和。
num = 1
sum = 0
while num <= 100:
if num%2==0:
sum = sum + num
num += 1
print(sum)
运行结果:
2550
练习题:
利用while求100-999以内的所有水仙花数
num=100
while num<1000:
a=num//100
b=(num-a*100)//10
c = num - a * 100 - b * 10
if a**3+b**3+c**3==num:
print(num)
num+=1
运行结果:
153
370
371
407
- while…else
i = 0
while i <= 5:
print(i)
i += 1
else:
print("这里是else语句", i)
运行结果:
0
1
2
3
4
5
这里是else语句 6
3. for语句
Python中for,可以用来遍历任何序列(字符串、列表、元祖、etc)
for i in 序列:
语句(块)
- range()
for i in range():
语句块
range用法:
range(end)#[0,end-1]
range(start,end)#[start,end-1]
range(start,end,step)#[start,start+step+...+end)
demo:
#demo1
for i in range(5):
print(i)
#demo2:
for i in range(1, 10, 2):
print(i)
运行结果:
demo1:
0
1
2
3
4
demo2:
1
3
5
7
9
练习题:
利用for来打印1-100的数字。
for i in range(1, 101):
print(i,end=" ")
运行结果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
练习题:
利用for求1-100的和
sum = 0
for i in range(1, 101):
sum = sum + i
print("1-100的和为:",sum)
运行结果:
1-100的和为: 5050
练习题:
利用for求1-100内所有偶数的和。
sum = 0
for i in range(1, 101):
if i % 2 == 0:
sum = sum + i
print("1-100的偶数和为:", sum)
运行结果:
1-100的偶数和为: 2550
练习题:
利用for求100-999以内的所有水仙花数
for i in range(100, 1000):
a = i // 100
b = i % 100 // 10
c = i % 10
if a ** 3 + b ** 3 + c ** 3 == i:
print(i, "是水仙花数")
i += 1
运行结果:
153 是水仙花数
370 是水仙花数
371 是水仙花数
407 是水仙花数
-
break和continue
break用来结束一个循环,跳出循环体
continue终止本次循环,直接进入下次循环
demo:
#break for i in range(1, 10, 2): print(i) if i == 7: break #continue for i in range(1, 10, 2): print(i) if i == 7: continue
运行结果: #break 1 3 5 7 #continue 1 3 5 7 9
-
for…else
while…else,for…else 中while和else是一块的,for和else也是一块的。
当有break或者return的时候就会跳出循环,如果没有,不管while是否执行,都会执行break语句。
for i in range(5):
print(i)
else:
print("这是else语句",i)
运行结果:
0
1
2
3
4
这是else语句 4