此文来源于微博和今日头条:逻二妞,转载请注明出处,谢谢
循环控制
循环控制是让程序在循环中运行某段代码,直到满足退出条件才退出循环。
Python使用关键字for和while进行循环控制php 终止循环,但其他语言中没有do...while语句(Java和PHP中有do while)。
while 循环
while循环语句的控制结构图如下:
while 判断表达式: 内部代码块 接下来看一个具体的案例,求1-100之间的总和 n = 100 sum = 0 counter = 1 while counter <= n: sum = sum + counter counter += 1 print("1 到 %d 之和为: %d" % (n,sum)) ----------------------------------------- 通常在循环条件中,会设置退出条件,防止程序死循环。 while True: s = input("what's you name:") print("you name is %s"%s) print("bye") 这个程序永远也不会打印bye。
while 的 else 副词:
while 循环还可以删除 else 副词。 当while循环完成正常执行后,就会执行else语句。 注意else和while的水平缩进!
number = 10 i = 0 # i = 11 while i < number: print(i) i += 1 else: print("执行完毕!")
如果循环被诸如break之类的机制强制提前终止,则else语句将不会被执行。
number = 10 i = 0 while i < number: print(i) i += 1 if i == 7: break else: print("执行完毕!")
for循环
虽然两者都是像 while 一样的 for 循环的关键字,但 for 循环通常用于遍历可迭代对象,例如列表或字典。 其通常的格式如下:
for in : for ... in ....:属于固定套路 sum = 0 for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]: sum = sum + x print(sum)
循环嵌套
if判断可以嵌套,while和for当然也可以嵌套。但是建议大家不要嵌套3层以上,那样的效率会很低。 # 这是一个判断质数的程序 # 一个数,如果只有1和它本身两个因数,这样的数叫做质数(或素数) for n in range(2, 100): for x in range(2, n): if n % x == 0: print(n, '等于', x, '*', n//x) break else: # 循环中没有找到元素 print(n, ' 是质数') # print(n,end = ', ')
中断语句
想在循环过程中退出循环,怎么办?用break语句! break只能用于循环体内。其效果是直接结束并退出当前循环,剩下的未循环的工作全部被忽略和取消。 Python的break只能退出一层循环,对于多层嵌套循环,不能全部退出。 for letter in 'Hello world': # 第一个实例 if letter == 'r': break print ('当前字母为 :', letter) -------------------------------------------- var = 10 # 第二个实例 while var > 0: print ('当前变量值为 :', var) var -= 1 if var == 5: break
继续句子
与break不同,continue语句用于跳过当前循环的剩余部分代码,直接开始下一轮循环。它不会退出和终止循环,只是提前结束当前轮次的循环。同样的,continue语句只能用在循环内。 for letter in 'Hello world': # 第一个实例 if letter == 'o': # 字母为 o 时跳过输出 continue print ('当前字母 :', letter) ------------------------------------------------------- var = 10 # 第二个实例 while var > 0: var -= 1 if var == 5: # 变量为 5 时跳过输出 continue print ('当前变量值 :', var)
后面我告诉过你,python中的break只能跳出当前层的循环php 终止循环,而不能跳出全部。 如果有这样的需求怎么办?
设置flag flag = False # 用于控制外层循环的标志 for i in range(10): if flag: # 当flag被内层循环设置为True的时候,跳出外层循环 break for j in range(10): if j==7: flag = True break print(i,j)
(写在最后,因为Python的基础知识点会在每晚9:30之后更新,所以记得查看哦!)