Python3基础之条件语句和循环语句
条件语句if
条件语句是编码内很常用的一种表达式,用于判断多种情况下的逻辑走向。
语法:
if...elif...else
a = 3
if a>1:
print("比1大")
if后面跟一个条件表达式,如果条件表达式为True,则执行if内从句,如果为false,则不执行。
数据类型bool类型内说过,0,[],{},None等都是False,其余为True。
a = 0
if a>1:
print("比1大")
else:
print("比1小")
else在条件语句中是可选的,意思为否则,只有上面的条件都不成立,才会执行else,后面无需添加条件表达式,所以else语句永远在整套条件语句末尾。
score = 75
if score >=80:
print("Great!")
elif score >=70:
print("Good!")
elif score >=60:
print("Pass!")
else:
print("Nopass!")
elif在条件语句中也是可选的,意思为或者如果,在整个条件语句中可以出现多次,只要上面的条件不符合,就按顺序逐条判断下去,放置在if之后。
注:因为是按顺序判断,所以可以把被包含的判断放在前面。
循环语句for
for语句在python有可以称为遍历语句,是最基本最常见的语句,所有的序列都可以通过for语句来实现遍历。
科普:遍历是把序列内的元素逐个输出。
序列包括字符串,元组,列表,字典,range等。
语法: for 变量 in 序列:
执行
for i in range(5):
print(i)
这里的range(5)是一个序列,即等于[0,1,2,3,4]。i是遍历变量,可以任意命名,只要符合python命名规范。
for语句内的else语句
for语句也有else,只是用的不多,意思是循环结束后执行else语句。如果循环被打断就不会执行。
读者可以自行试试。
break语句
break语句只能在循环语句内进行,意思为打断(跳出)整个循环。上述语句稍作修改后:
for i in range(5):
if i == 3:
break
print(i)
在执行i=3时,被条件语句判断成功,执行break后,不再遍历range后续的元素,整个循环就此结束。
continue语句
continue语句与break语句同样有打断循环的意思,但continue只是单纯的打断本次循环,不影响整套循环进行,把上述语句中的break改为continue后:
for i in range(5):
if i == 3:
continue
print(i)
只有3没有被输出,说明continue只针对判断成立的3进行了处理,而对后面的4不会影响。
读者需要合理运用break和continue语句,for语句还好不会形成死循环,接下来我们要讲的while语句就要多使
用break语句去验证。
循环语句while
while语句也是循环语句,比之for语句可以循环更彻底,for语句总有循环结束的时候,但while语句可以一直循环下去。所有针对不确定的循环次数可以使用while循环。
语法: while 条件:
执行语句
典型的死循环:
while True:
print("死循环")
所以尽量条件不要直接定义死为True,可以是判断表达式如:a < 10,亦或者变量a, a = True。
其他跟for语句一致的功能。
a = 1
n = 0
while a<10:
n += 1
print("循环%d次" %n)
a += 1
else:
print("循环结束")
嵌套
嵌套判断,嵌套循环即是在判断或循环内再次判断或循环。
a = 1
n = 0
while a<10:
if a== 3:
print("循环强制结束!")
break
n += 1
print("循环%d次" %n)
a += 1
else:
print("循环结束")
这种就是嵌套判断,嵌套理论上可以无限嵌套下去,但这涉及到算法复杂度O(n),所以尽量不要嵌套很多次。