python流程控制
if条件语句
python条件语句就是通过一条或者多条语句执行的结果(True/False)来决定执行的代码块
-
if单分支语句
if 逻辑语句: 语句(块)
Demo:
print("Hello World!")
if False:
print("Hello Python!")
print("welldone.")
-
if 双分支语句
if 逻辑语句1: 语句(块)1 else: 语句(块)2
learning = "java"
if learning == "python":
print("真巧,我也在学习python.")
else:
print("小明和你一样在学习java.")
print("Nice to meet you.")
learning = input("请输入你学习的编程语言:")
if learning == "python":
print("真巧,我也在学习python.")
else:
print("小明和你一样在学习java.")
print("Nice to meet you.")
- If 多分支语句
C语言中
if
if
if
else
else
else
Python中,elif:else if 缩写为elif.
if 逻辑语句1:
语句(块)1
elif 逻辑语句2:
语句(块):
...
elif 逻辑语句 n-1:
语句(块)n-1
else:
语句(块)n
根据考试成绩返回五级分制成绩。
90-100:A
80-90:B
70-80:C
60-70:D
0-60:E
mark = int(input("请输入你的分数:")) #input是字符串类型,要强转成int型
if mark > 100:
print("不存在")
elif mark >= 90:
print("A")
elif mark >= 80:
print("B")
elif mark >= 70:
print("C")
elif mark >= 60:
print("D")
else:
print("E")
从控制台输入一个三位数,判断其是否为水仙花数
153 = 1 3 + 5 3 + 3 3 153 = 1^3+5^3+3^3 153=13+53+33
number = int(input("请输入一个三位数:"))
if (number //100)**3 +((number-(number//100*100))//10)**3+(number-(number//100*100+(number-(number//100*100))//10*10))**3==number:
print("该数是水仙花数。")
else:
print("该数不是水仙花数。")
while语句
-
循环语句
- 所谓循环,就是用来执行部分代码在一定条件下重复执行的代码。
格式:
while 逻辑语句:
语句(块)
i = 0
while True:
print("I love you.")
i += 1
if i == 5:
break
(1)利用while打印1-100的数字
i = 1
while i <= 100:
print(i)
i += 1
if i == 201:
break
count = 1
while count <=100:
print(count)
count += 1
(2)利用whlie打印1-100的和
i = 1
sum = 0
while i <= 100:
sum += i
i += 1
print(sum)
if i == 101:
break
count = 1
sum = 0
while count <= 100:
sum += count
count += 1
print(sum)
(3)利用while 求1-100内所有偶数的和
count = 1
sum = 0
while count <= 100:
if count % 2 ==0:
sum += count
count += 1
print(sum)
i = 1
sum = 0
while True:
if i % 2 == 0:
sum += i
i += 1
if i == 101:
break
print(sum)
(4)求100-99内所有水仙花数
a = int(input("请输入一个三位数:"))
print((a // 100, a % 100 // 10, a % 10))
num = 100
while num < 100:
if num == (num // 100) ** 3 + (num % 100 // 10) ** 3 + (num % 10) ** 3:
print(num)
num += 1
for 循环
Python中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]
Demo:
for i in range(2, 101, 2):
print(i, end=" ")break 和continue
-
break用来结束一个循环,跳出循环体
-
continue终止本次循环动作,直接进入下次循环
for i in range(2, 15, 2): print(i, end=" ") if i == 10: continue # print(i, end=" ")
While…else…
##for…else…
While…else…和for…else…中while和else是一块的,for和else也是一块的
当有break或者return的时候就会跳出while.如果没有break或者return,不管while是否执行,都会执行else语句
count = 0
while count < 5:
print(count, " is less than 5")
count = count + 1
else:
print(count, " is not less than 5")
for num in range(10, 20): # 迭代 10 到 20 之间的数字
for i in range(2, num): # 根据因子迭代
if num % i == 0: # 确定第一个因子
j = num / i # 计算第二个因子
print('%d 等于 %d * %d' % (num, i, j))
break # 跳出当前循环
else: # 循环的 else 部分
print(num, '是一个质数')