Python 中使用 for 和 while 实现循环,没有 do while
循环条件与C,Java 等基本定义一致,满足条件将反复执行 直到不符合循环条件后跳出循环,继续向下执行
While
语法
while condition1:
满足 condition1 执行的语句
示例
>>> a = 10;
>>> while (a > 0):
... print(a, end=",");
... a-=1;
...
10,9,8,7,6,5,4,3,2,1,>>> print("end");
end
同样的 分号 ; 以及小括号可以省略不写,如下:
a = 1
while a > 0:
print(a, end=",")
a-=1
print("end")
无限循环(死循环)
即 循环条件判断一致为True
例如:
>>> while 1 == 1:
... charsInput = input("输入一些文字")
... print("输入为", charsInput)
...
输入一些文字123
输入为 123
输入一些文字321
输入为 321
输入一些文字
条件也可换为其他恒等式,但是依旧可以在内部通过 break 关键字跳出
while else
即 python 支持 while 条件的else 语句,相当于结合了 if else
示例:
>>> a = 1;
>>> while a < 3:
... print(a , end=" one while ")
... a+=1
... else:
... print("不符合条件")
...
1 one while 2 one while 不符合条件
>>>
单行
类似 if 语句的语法,如果while循环体中只有一条语句,那么可以将该语句与while写在同一行中, 如下所示:
while 1 == 1 : print(1111)
以上语句将一直打印 1111 通过关闭程序 或者 ctrl + C 退出执行
for 循环
语法与 Java 和 C等不大相同,但是与JS类似,普通只使用 for 当存在else时是在循环结束后执行的一段代码
语法:
for <variable> in <sequence>:
<statements>
else:
<statements> 循环执行结束后执行的一段代码
Python 的 for 可以遍历任何一个可迭代对象,一般的数组,list , 字符串等等均可。
例如:
>>> list1 = [1, "heh", "12226", 442]
>>> for item in list1:
... print(item)
...
1
heh
12226
442
>>> for item in list1[1]:
... print(item)
...
h
e
h
>>> print("the end")
the end
>>>
break 以及 continue
break 以及 continue 与Java , C等一致
break 跳出当前循环体,直接执行循环外的语句
continue 直接开始执行下一次循环,continue
例如:
>>> list1 = [1, "heh", "12226", 442]
>>> for item in list1:
... if item == 1:
... continue
... if item == 442:
... break
... print(item)
...
heh
12226
>>> for item in list1[1]:
... print(item)
...
h
e
h
>>> print("the end")
the end
>>>
循环数字集 range()
range 函数为内置函数,指定参数后,将会自动帮我们创建数字集的数组并作为一个已知数组去使用和认知
一般指定
>>> for i in range(3):
... print(i)
...
0
1
2
指定区间
>>> for i in range(3,7):
... print(i)
...
3
4
5
6
指定步长
(下面的例子为,指定区间为2-20 每次增长量为2)当然也可以为负数
>>> for i in range(2, 20, 2):
... print(i)
...
2
4
6
8
10
12
14
16
18
负数增长
>>> for i in range(-2, -50, -5):
... print(i)
...
-2
-7
-12
-17
-22
-27
-32
-37
-42
-47
使用 range 来创建 list
>>> list(range(9))
[0, 1, 2, 3, 4, 5, 6, 7, 8]
使用 len 以及 range 遍历列表的索引以及值
>>> list1 = ['aaa', 'bbb', 'ccc', 'ddd']
>>> for item in range(len(list1)):
... print(item, list1[item])
...
0 aaa
1 bbb
2 ccc
3 ddd
python 循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时执行,但循环被 break 终止时不执行,直接跳出
pass
Python 中 pass 是空语句,为了保持程序结构的完整性,即 pass 不做任何事情,一般用做占位,例如:
>>> for i in range(5):
... if i == 2:
... pass
... else:
... print(i)
...
0
1
3
4