在流程控制语句中,只有for语句不需要在语句外面声明变量
for i in range(5): # i未在for语句外面申明就使用,没有报错print(i)while i<10: # 此时会报错,因为i未声明,需要在while循环外面先申明再使用print(i)
1. if else条件语句
Python 中的 if else 语句可以细分为三种形式,分别是 if 语句、if else 语句、 if elif else 语句。
a=10b=6if a>b:r=aelse:r=b简化: r = a if a>b else b# if elif else语句def func(i):if i == 3:print(3)elif i == 4:print(4)elif i == 5:print(else:print(6)
3. while循环
while循环是通过一个条件来控制是否要继续反复执行循环体中的语句。
while 条件表达式:条件成立重复执行的代码——————————————————————————————————————————while 条件表达式:条件成立重复执行的代码else:循环正常结束后要执行的代码
i=int(input("请输入:"))while i<4:print(i)breakelse:print("输入过大")
- 如果在while循环中执行了break终止了循环导致非正常结束,else后面的语句不会执行;只执行了continue,else后面的语句是会执行的
- while语句,表达式的变量需要在外面先创建好再使用。
4. for循环
python中的for循环与java,c中的for循环不同,没有迭代停止条件,只是将序列中的元素按顺序遍历。
for 临时变量 in 序列:重复执行的代码else:循环正常结束后要执行的代码words = ['A','B','C','D']for i in words:print(i,ending="")>>> ABCD
4.1 for语句 + range()
for语句结合range()函数可以实现java的for循环遍历功能**range()**是range类的实例对象。**range(start,stop[,step])**——>从start(包括)到stop(不包括)的整数序列。默认从0开始,step默认为1。
for i in range(0,3,1):print(i)>>> 0,1,2
4.2 for + enumerate()
lists=["你好","我好","大家好"]dict={}for index,value in enumerate(lists):dict[value]=indexdict={"你好":0,"我好":1,"大家好":2}
5. else循环子句
**else**循环子句在for迭代完或者**while**终止时执行。但是假如循环被**break**语句终止则不执行**else**语句。
for n in range(2,10):for x in range(2,n):if n%x ==0:print(n,"等于",x,"*",n//x)breakelse:print(n,"是一个素数")while True:i=int(input("请输入:"))while i < 4:print("输入正确")breakelse:print("输入数字过大")continue
6. break,continue和pass语句
- break语句可以终止当前的一层循环,包括while和for在内的所有控制语句
- continue语句的作用没有break语句强大,它只能中止本次循环而提前进入下一次循环中。
- pass语句表示空语句。它不做任何事情,一般起到占位作用。
7. match语句
在**python 3.10**添加上的特性6. assert断言
可以看做是功能缩小版的 if 语句,它用于判断某个表达式的值,如果值为真,则程序可以继续往下执行;反之,Python 解释器会报 AssertionError 错误。
assert 语句的语法结构为:assert 表达式mathmark = int(input())#断言数学考试分数是否位于正常范围内assert 0 <= mathmark <= 100#只有当 mathmark 位于 [0,100]范围内,程序才会继续执行print("数学考试分数为:",mathmark)
