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
"""