python08——for 循环

一、字符串取值

names=["egon","Lxx_dsb","xc","zhoujielun"]
i=0
while i < len(names):
    print(names[i])
    i +=1

#输出
#egon
#Lxx_dsb
#xc
#zhoujielun

二、针对于循环取值,while并不擅长,python提供了专门循环取值的操作:for循环

for:迭代循环

1、遍历值

names=["egon","Lxx_dsb","xc","zhoujielun"]
for i in names:   # 有几个值就循环几次,4次
    print(i)

#输出
#egon
#Lxx_dsb
#xc
#zhoujielun
d={"k1":111,"k2":222,"k3":333}
for i in d:
  	print(i)  # 从字典里取出的默认是key:k1 k2 k3
    print(i,d[i]) # 通过key取value:k1 111 k2 222 k3 333
info = [["name", "egon"], ["age", 18], ["gendel", "male"]]
for a,b in info:     # 用到解压赋值,列表内的2个值分别给a和b
    print(a,b)
# name egon
# age 18
# gendel male

三、总结for循环和while循环区别

3.1 相同之处:

都是循环,都是用来做重复的事情

3.2 不同之处:

while循环通常用来循环执行某段代码

for循环通常用来进行循环取值

while循环的次数取决于条件什么时候为假

for循环循环的次数取决in后的数据类型所包含的值的个数

四、for+range() ,range是用来产生一个数字序列,range顾头不顾尾,步长,默认起始位置为0,默认步长为1

用途1:用来重新n次某段代码

用途2:range可以用来产生数字序列,数字对应的是列表的索引

所以说,for+range()是可以按照索引编列列表

for i in range(3):
    print("步骤1")
    print("步骤2")
    print("步骤3")
for i in range(0,10):  # 默认步长为1
    print(i)
#0
#1
#2
#3
#4
#5
#6
#7
#8
#9

for i in range(0,10,2):  # 步长为2
    print(i)
# 0
# 2
# 4
# 6
# 8

# for+range:倒着取值
for i in range(10,0,-1):  # 步长为-1
    print(i)
    10
# 9
# 8
# 7
# 6
# 5
# 4
# 3
# 2
# 1

for i in range(10,0,-2):  # 步长为-2
     print(i)
#     10
#     8
#     6
#     4
#     2


l=[111,222,333,444,555]
for i in range(len(l)-1,-1,-1):
    print(l[i])
# 555
# 444
# 333
# 222
# 111

五、for+enumerate:通常用在列表,以字典key:value输出

l=[111,222,333,444,555]
for i,y in enumerate(l):
    print("index: %s value: %s" % (i,y))
# index: 0 value: 111
# index: 1 value: 222
# index: 2 value: 333
# index: 3 value: 444
# index: 4 value: 555

六、for+break

for i in range(3): 
    username=input('username>>: ')
    password=input('password>>: ')
    if username == 'egon' and password == '123':
        break
    else:
        print('用户名或密码错误')

七、for+continue

for i in range(5): # [0,1,2,3,4]
    if i == 2:
      continue
    print(i)

八、for+else

for i in range(3): 
    username=input('username>>: ')
    password=input('password>>: ')
    if username == 'egon' and password == '123':
        break
    else:
        print('用户名或密码错误')
else:
    print('账号密码输错次数达到最大限制,退出程序')

九、for循环嵌套

for i in range(3):
    print("====打印 %s=====" % i)
    for j in range(5):
        print("输出 %s " % j)
        """
====打印 0=====
输出 0
输出 1
输出 2
输出 3
输出 4
====打印 1=====
输出 0
输出 1
输出 2
输出 3
输出 4
====打印 2=====
输出 0
输出 1
输出 2
输出 3
输出 4
"""
posted @ 2020-11-20 11:43  岳岳-  阅读(124)  评论(0编辑  收藏  举报