Python 基础之循环结构for及break pass continue

一.for 循环

#循环 变量 迭代 都是一个意思
#把列表里面的元素意义的拿出来就是遍历
listvar = ["one","two","three","four","five","six"]
#len获取列表的长度
res = len(listvar)
print(res)

1.通过while 的遍历来介绍for

例:
i = 0
while i < len(listvar):
#  "0 1 2 3 4 5"
   res = listvar
   print(res)
   i+=1


setvar = ["one","two","three","four","five","six"]
#while 循环有它的局限性,不能够变量集合这样的数据类型
#所以for循环应用而生 特指用来遍历的

'''
i = 0
while i < len(setvar):
   res = setvar[i]
   print(res)
   i+=1

'''

2.for 语法

代码解析:
把容器类型数据里面的每一个元素,后期我们还学迭代器 生成器 range对象
for 变量 in 可迭代的对象:
   print(变量)
代码解析:
把容器类型数据类目的每一个元素,依次的拿出来赋值变量i
知道所有数据依次遍历完毕退出循环


#遍历列表
container = ["one","two","three","four","five","six"]
#遍历元组
container =("one","two","three","four","five","six")
#遍历集合
container = {"one","two","three","four","five","six"}
#遍历字典
container ={'top':'剑圣','middle':'狐狸','bottom':'德莱文'}
#变量字符串
container = "我爱你亲爱的菇凉,见到你我就心慌"
for i in container:
   print(i)

3.使用for遍历等长的二级容器

listvar = [("王林","王思思","王美丽"),["马云","马花","马思"],["王宝","马宝","宋小宝"] ]
#变量的解包
a,b = 1,2
print(a,b)
a,b =[3,4]
print(a,b)
a,b = {5,6}
print(a,b)
print("7777777777777777777777777777")

for a,b,c in listvar:
   """
   a,b,c ("王林","王思思","王美丽")
   a,b,c ["马云","马花","马思"]
   a,b,c ["王宝","马宝","宋小宝"]
   """
print(a,b,c)
listvar = [(1,2),[3,4],[5,6]]
for a,b in listvar:
   print(a,b)

4.使用for遍历不等长的二级容器

listvar = [("王林","王思思"),["马花","马美丽"],["王宝","宋小宝"] ]
for i in listvar:
   for j in i :
      print(j)

5.range对象

#语法:
range(start,end,step)
   start : 开始值
   end :结束值
   step:步长
使用方式和切片语法类似,高位end那个值取不到,取到end之前的那个值


#1个参数的情况 range(5) => 0 1 2 3 4 默认0开始 高位5取不到,最大取到4
print(range(5),type(res))

res = list(range(5))
print(res)

for i in range(5):
   print(i)

#2个参数的情况
for i in range(3,10):
   print(i)

#(33个参数的情况 2 4 6 8 10
#正序
for i in range(2,11,2):
   print(i)

#倒序
#打印9~1 9 8 7 6 5 4 3 2 1
for i in range(9,0,-1):
   print(i)

二.关键字:break pass continue

1.pass 过 作用:做占位符使用

if 5 == 5:
   pass

i = 0
while i < 10:
   pass #约定俗成,在循环里面什么也不行的情况下,给予友好提示
   i+=1

2.break 终止当前循环

(只能用于循环当中)
'''打印1~10,如果遇到5终止循环'''
i=1
while i <=10:
   if i == 5:
      break
   print(i)
   i+=1


#break 终止当前循环,外面循环一次,里面循环三次,只不过当j=3的时候,循环终止了
i = 1
while i<=3:
   j = 1
   while j<=3:
      if j == 3:
         break
      print(i,j)
      j+=1
   i+=1

#1,1 1,2 2,1 2,2 3,1 3,2

3.continue 跳过当前循环,从下一次循环开始

例:

#打印1~10 不打印5
i = 1
while i <= 10:
   if i == 5:
      i +=1 #要小心跳过循环之后,后面的代码不执行,从循环开始在执行
      continue
   print(i,end=" ") #让它打印一行并且空格
   i+=1

例:
#打印1~100 所有不含4的数字

#解析:
98 如果取出98的各位数和十位数
8 => 98 % 10 => 8
9 =>98 // 10 => 9

通过地板除 // 可以获得一个数的高位
通过取余 % 可以获取一个数的低位

#第一个方法
i = 1
while i<100:
   if i // 10 == 4 or i % 10 == 4:
      i += 1
      continue
   print(i)
   i+=1

#第二个方法
i=1
while i <= 100:
   num = str(i)
   if '4' in num:
      i+=1
      continue
   print(i)
   i+=1

posted @ 2018-07-15 15:54  pycoder_hsz  阅读(737)  评论(0编辑  收藏  举报