基本的条件判断语句,用于分支结构控制,用法如下。
# 输入一个整数,按条件输出内容 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)
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)
基本循环语句,不同于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")
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跳出的循环将不会执行其后的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")
用于在满足条件时跳过当前一轮循环余下语句,直接进入下一轮循环。
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)