流程控制
if条件分支
基本的条件判断语句,用于分支结构控制,用法如下。
# 输入一个整数,按条件输出内容
choose = int(input())
if choose < 3:
print("< 3")
elif choose < 5:
print("< 5")
else :
print("else")
# 嵌套分支输出三个数最大者
a = int(input())
b = int(input())
c = int(input())
if a >= b:
if a >= c: # 内嵌分支
print(a)
else :
print(c)
else :
if b >= c:
print(b)
else :
print(c)
if a >= b and a >= c: # 非嵌套写法
print(a)
elif b >= a and b >= c:
print(b)
else :
print(c)
简化if-else
python中不提供cpp和java中的? :
三目运算符,但支持简化的单行if-else写法用以替代。
# 输入两个数,输出较大者
one = int(input())
two = int(input())
if one > two: # if基本写法
print(one)
else :
print(two)
print(one if one > two else two) # 简化if-else写法
# 简化if-else也支持嵌套,但不常用,如下判断三个数的最大者
a = int(input())
b = int(input())
c = int(input())
maximum = a if a >= b and a >= c else b if b >= c and b >= a else c
print(maximum)
while循环
基本循环语句,不同于cpp和java在于,python中的while循环可以有else分支,其将在循环顺利执行完成后执行。
# 1. 循环10次并打印内容
count = 0
while count < 10:
print("loop no.",count)
count += 1
# 2. 循环打印列表元素,循环顺利完成打印内容
lis = [1,2,3,4,5]
count = len(lis) - 1
while count >= 0:
print(lis[count], end = ' ')
count -= 1
else :
print("over")
for循环
python中的for循环与cpp和java中提供的for-each循环相同,用于对容器中的数据进行迭代,同while,for也可有else分支,用于在循环顺利执行完成后执行。
同时,for循环常常与range(start,stop[,step])
函数结合使用,range用于生成一个从start开始、stop结束、步长为step的左闭右开区间的等差级数,详细用法可以键入help(range)
查看。
# 1. for循环迭代输出列表元素
lis = [1,2,3,4,5]
for each in lis:
print(each, end = ' ')
# 2. for循环计算[1,99]奇数和
count = 0
for each in range(1,100,2):
count += each
print(count)
循环控制
break
用于在满足条件时跳出(终止)最近一层的循环,break跳出的循环将不会执行其后的else分支。
# 1. 顺序输出有序列表中小于等于maximum的元素,如果全部输出则输出over
lis = [1,2,3,4,5,6]
maximum = 4
index = 0
while index < len(lis): # while实现
if lis[index] > maximum: # 符合条件时跳出循环
break
print(lis[index], end = ' ')
index += 1
else : # 顺利结束循环时执行,break跳出将不会执行
print("over")
for each in lis: # for循环实现
if each > maximum: # 符合条件时跳出循环
break
print(each, end = ' ')
else : # 顺利结束循环时执行,break跳出将不会执行
print("over")
continue
用于在满足条件时跳过当前一轮循环余下语句,直接进入下一轮循环。
lis = [2,4,5,3,6,8,7]
# 输出列表中的奇数,以下两种写法等价
for each in lis: # 1.
if each % 2: # 当迭代元素为奇数时输出
print(each)
for each in lis: # 2.
if not each % 2: # 当迭代元素不为奇数时跳过当前循环,余下代码不执行
continue
print(each)