for 、whlie、else、break、continue循环用法
for 循环,它常用于遍历字符串、列表、元组、字典、集合等序列类型,逐个获取序列中的各个元素。
for 迭代变量 in 字符串|列表|元组|字典|集合: 代码块
add = "www.qinjl.com" # for循环,遍历 add 字符串 for ch in add: print(ch, end="")
运行结果为:www.qinjl.com
result = 0 #逐个获取从 1 到 100 这些值,并做累加操作 for i in range(101): result += i print(result)
my_list = [1,2,3,4,5] # for循环遍历列表 for ele in my_list: print('ele =', ele)
my_dic = {'小蓝': "20", '小红': "22", '小绿': "24"} # for循环遍历字典 for ele in my_dic: print('ele =', ele)
my_dic = {'小蓝': "20", '小红': "22", '小绿': "24"} # for循环遍历items() for ele in my_dic.items(): print('ele =', ele)
my_dic = {'小蓝': "20", '小红': "22", '小绿': "24"} # for循环字典的值 for ele in my_dic.values(): print('ele =', ele)
while语句:
while 条件表达式: 代码块
○ 当表达式的结果为True时,执行循环体,继续判断表达式的值是否为True
○若是,继续执行循环体,如此周而复始,直到判断表达式的值为False或执行到跳转语句或发生异常时停止循环的执行
○若循环体什么也不执行时,可用pass语句表示
注意:
●while先判断再执行,所以可能循环体可能一次也不执行
●循环中需要包含能改变循环变量值的语句,否则,若表达式的值始终为True,则会造成死循环
●注意对齐,while语句只执行其后的一条或一组同一层次的语句
# 断言出库单为缺货等待状态 t = time.time() flag = True while flag: if time.time() - t > 120: logger.error("查询出库单状态超时") break time.sleep(5) result = OutboundOrder().search_outbound_order()[0] customerOrderNos = [] for p in result["data"]["results"]: if p["ksOutboundOrder_outboundOrderStatus"] == "SHORT_WAITING": assert p["ksOutboundOrder_abnormal"] == "OUT_OF_STOCK" flag = False else: flag = True break
break语句:
break语句终止当前循环,转而执行循环之后的语句
如果有两层循环,break只能跳出当前 所在层次循环
for i in range(1,11): for j in range(1,11): if i*j>=36: break print(i,j)
输出为10,4而不是4,9
continue语句:
continue语句在while循环和for循环中,用来跳过循环体内continue后面的语句,并开始新的一轮循环
for i in range(1,21): if i %3 !=0: continue print(i,end=' ')
continue + for循环
continue用于结束当前循环,当前循环后的代码块儿不会在执行。但是整个循环还是会继续下去。
for i in range(5): if i == 3: print("continue之前的代码,会执行{}".format(i)) continue print("continue之后的代码,不会执行{}".format(i))
continue + while循环
i = 5 while i > 0: i -= 1 if i >= 3: print("我在continue之前,会执行") continue print("我在continue之后,不会执行")