py代码在执行时是按照自上而下的顺序执行的,通过流程控制语句可以让程序反复执行。
条件判断语句
if语句
语法:
if 条件表达式 :
代码块
- 代码块:
代码块中保存着一组代码,同一个代码块中的代码,要么都执行要么都不执行。py的代码块是以缩进开始,缩进结束。
缩进有两种方式:
- 使用tab键
- 使用空格(四个)
py推荐使用空格,py代码中的缩进方式必须统一。
# 一行也需要缩进
a=True
if a :
print('hel')
if True :
print('hel')
# 代码块有多条时,都需要缩进
a=10
if a>0:
print('hel')
print('lo')
# 判断条件可以通过and和or相连接
a=10
if a>10 and True :
print('hel')
print('lo')
if-else语句
if-else语句在执行时,先对if后的条件表达式进行求值判断,为True执行if后的代码块,为False执行else后的代码块。
if-elif-else语句
会自上向下依此对条件表达式进行求值判断,表达式结果为True,则执行当前代码块。为False则判断下一个表达式,如果所有表达式都为False,则执行else后的代码块。
循环语句
循环嵌套和java一样。
while循环
# 和java一样
语法1:
while 条件表达式 :
代码块(缩进)
i=2
while i<5 :
i+=1;
print(i)
#不管 while语句是否执行,else语句肯定执行
语法2:
while 条件表达式:
代码块(缩进)
else :
代码块(缩进)
i=6
while i<5 :
i+=1;
print(i)
else :
print("wa")
for 循环
for循环可以遍历任何序列的项目,如列表,字典,字符串等
格式如下:
for <variable/变量> in <sequence/顺序>:
<statements/表述>
else: # 可有可无,参照while
<statements>
# 遍历字符串
for s in 'sud' :
print(s)
else :
print('eh')
range()函数
和fo循环经常搭配使用的是range()函数。
用法:range(a,b,c)
a:计数从a开始,不填默认为0.
b:计数到b结束,但不包括b。
c:计数的间隔,不填时默认为1,若为负数,则为倒序。
注意:若a<b并且c为负数,不执行。 c不可以为0
range(x):x=b 0->b-1
range(m,n) m=a,n=b a->b-1
# 0-4的遍历
for i in range(5):
print(i)
while和for区别:
- while:循环次数不明确,把一件事做N遍
- for: 循环次数明确,一件事做N遍
break/continue/pass
- break: 跳出循环
- continue: 结束本次循环
# 只有外部有循环时才有效
while True :
if True:
break
else:
continue
- pass:只用来占位,使程序不至于报错
# 此程序会报错
if True :
else :
print('s')
# 此程序不会报错
if True :
pass
else :
print('s')