1.while 循环
语法结构
while 条件语句:
代码
解释:不断循环,如果条件语句为真,则执行代码,直到条件语句为假。假设条件语句一直为真,则无限循环执行代码。
示例
# 根据用户确认控制循环
isContinue = 'Y'
while isContinue == 'Y':
print("xxxxxxxxxxx")
isContinue = input("如果要继续打印请输入 Y,否则退出打印:")
在循环控制里不要使用浮点值来进行比较,因为浮点值运算是近似的,它会导致不正确的结果。
下面这个例子看起来像是计算 1 + 0.9 + 0.8 + …+ 0.1 的值,但实际上是一个死循环。
item = 1
sum = 0
while item != 0:
sum += item
item -= 0.1
print("item = ", item)
print(sum)
# 结果
# item = 0.9
# item = 0.8
# item = 0.7000000000000001
# item = 0.6000000000000001
# item = 0.5000000000000001
# item = 0.40000000000000013
# item = 0.30000000000000016
# …
2.for循环
语法
for var in sequence:
代码
pass
解释:sequence表示一个可迭代的对象,比如字符串、列表、数组(for语句 = 遍历)。不断遍历sequence中的每一个元素,每次遍历执行一次代码,直到将全部元素遍历完毕。
示例
for x in range(1,10,3):
print(x)
# 1
# 4
# 7
range(a, b)函数返回的事一系列连续整数:a, a+1, a+2, ..., b -2, b -1,不含b
range(a)相当于range(0,a),表示a次循环
range(a, b, k)表示加入了一个步长k:a, a + k, a + 2k, … ,不含b
range函数中的数字必须为整数
3.for-else 和 while-else
for-else示例代码
s = "hello world"
for idx in range(len(s)):
print("循环中:" + s[idx])
if s[idx] == "w":
break
else:
print("循环正常结束")
只有循环正常结束,else语句才会执行。
while-else同理。
4.关键字break和continue
break 退出整个循环,continue是退出一次迭代,触发continue后直接又从循环的条件判断处开始。
break示例
continue示例
end