Python流程控制
if条件分支语句
Python条件语句是通过一条或多条语句执行的结果(True/False)来决定执行的代码块
if 逻辑语句:
语句(块)
demo:
print("Hello,Python")
if False:
print("I'm studying Python.")
print("Welldone.")
#输出结果:
Hello,Python
Welldone.
learning="Python"
if learning == "Python":
print("I'm studying Python,too.")
#输出结果:
I'm studying Python,too.
demo:
learning="Java"
if learning == "Python":
print("I'm studying Python,too.")
else:
print("I'm studying Java.")
#输出结果:
I'm studying Java.
if
if
if
else
else
else
elif:else if缩写
if 逻辑语句1:
语句(块)1
elif 逻辑语句1:
语句(块)1
...
elif 逻辑语句n-1:
语句(块)n-1
else:
语句(块)n
#练习题1:根据百分制考试成绩返回五级分制成绩
a=int(input("请输入成绩:"))
if a>100:
print("最高100分,请重新输入!")
elif a>=90:
print("A")
elif a>=80:
print("B")
elif a>=70:
print("C")
elif a>=60:
print("D")
else:
print("E")
#输出结果:
请输入成绩:92
A
请输入成绩:59
E
请输入成绩:110
最高100分,请重新输入!
#练习题2:输入一个三位数,判断是否为水仙花数:
x=int(input("请输入一个数"))
a1=x//100
b=x-a1*100
a2=b//10
a3=b%10
a=a1**3+a2**3+a3**3
if x==a:
print('%s是水仙花数' %(x))
else:
print('%s不是水仙花数' %(x))
#输出结果:
请输入一个数153
153是水仙花数
请输入一个数134
134不是水仙花数
while循环语句
- 利用while打印1-100的数字:
i=1
while i in range(1,101):
print(i,end=" ")
i=i+1
#输出结果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15...97 98 99 100
2.利用while打印1-100的和:
sum=0
i=1
while i in range(1,101):
sum=sum+i
i=i+1
print(sum)
#输出结果:
5050
http://www.pythontutor.com 代码可视化
3.利用while求1-100内所有偶数的和:
i = 1
sum = 0
while i <= 100:
if i % 2 == 0:
sum = sum + i
i = i + 1
print(sum)
#输出结果:
2550
4.利用while求100-999内所有水仙花数:
x=100
while x<1000:
a1 = x // 100
b = x - a1 * 100
a2 = b // 10
a3 = b % 10
a = a1 ** 3 + a2 ** 3 + a3 ** 3
if x == a:
print(x, end=' ')
x=x+1
#输出结果:
153 370 371 407
for循环语句
可以用来遍历任何序列(字符串,列表,元祖,etc.)
格式:
for i in 序列:
语句(块)
1.range()
range(end) #[0,end-1],end为整数
range(start,end) #[start,end-1],两个数均为整数
range(start,end,step)
#[start,start+step,start+2*step,...,end-1]
demo:
for i in range(2,101,2):
print(i,end=' ')
#输出结果:
2 4 6 8 10 12 14 16 18 20 22 24...94 96 98 100
#利用for求100-999内所有水仙花数:
for x in range(100, 1000):
a1 = x // 100
b = x - a1 * 100
a2 = b // 10
a3 = b % 10
a = a1 ** 3 + a2 ** 3 + a3 ** 3
if x == a:
print(x, end=' ')
#输出结果:
153 370 371 407
break和continue
- break用来结束一个循环,跳出循环体。
- continue终止本次循环的动作,直接进入下次循环。
demo:
for i in range(2,15,2):
if i==10:
# break
continue
print(i,end=" ")
#输出结果
(break):
2 4 6 8
(continue):
2 4 6 8 12 14
while…else
for…else
while…else和for…else中while和else是一块的,for和else也是一块的。
当有break或return的时候跳出循环;如果没有break或return,不管while是否执行,都会执行else语句。
demo:
a = int(input("请输入一个数:"))
while a <= 5:
print(a, end=" ")
a = a + 1
if a>3:
break
else:
print("这里是else语句。")
#输出结果:
请输入一个数:1
1 2 3
请输入一个数:6
这里是else语句。