一、for循环
1、for循环是Python中的第二种循环机制
理论上for循环能做的事情,while循环都可以做,用for循环是因为在(遍历取值)上比while循环更简洁。
2、for循环的语法
语法:
for 变量名 in 可迭代对象: (可迭代对象可以是:列表、字典、字符串、元组、集合)
代码1
代码2
代码3
二、与while循环对比
需求:读取列表值并打印出来
# 例1:循环列表取值 # 简单版: l = ['v1_xx', 'v2_xx', 'v3_xxx', 'v4_xxx'] for x in l: print(x)
v1_xx
v2_xx
v3_xxx
v4_xxx
# 复杂版: l1 = ['v1_xx', 'v2_xx', 'v3_xxx', 'v4_xxx'] i = 0 while i < 4: print(l1[i]) i += 1
v1_xx
v2_xx
v3_xxx
v4_xxx
# ================================== '例2:循环字典取值' # 简单版: dic = {'k1': 1111, 'k2': 2222, 'k3': 3333} for k in dic: print(k, dic[k])
k1 1111 k2 2222 k3 3333
# 复制版:while循环可以遍历字典,太麻烦了 # ================================== '案例3: 字符循环取值' # 简单版 msg = "you er message" for x in msg: print(x)
y
o
u
e
r
m
e
s
s
a
g
e
-
总结for循环与while循环异同
1、相同之出:都是循环,for循环可以做的,while也循环也可以做。
2、不同之处:while循环为条件循环,循环次数取决于条件何时变假;
for循环为“取值循环”,循环次数取决与in后包含值的个数;
三 、for 循环的循环次数
for x in 'abc': # 这里的值是三个,那么下面的代码会循环3次 inp_name = input('请输入你的账号:') inp_pwd = input('请输入你密码:')
但这种方式存在是有缺陷的,我们可以用Python的Range来产生值控制循环次数。
-
for 循环之 range功能
range功能就是按照安置定制造出值来
for i in range(10) # 类似于造出了一个[0,1,2,3,4,5,6,7,8,9]的列表取值0到9,共10个元素,顾头不顾尾! print(i) #输出结果 0 ...5....9
-
for 循环之结束循环
for + break:同while循环一样
for + else: 同while循环一样
username = 'hyjkk' password = '123456' for i in range(3): #3次循环条件 inp_name = input('请输入你的账号:') inp_pwd = input('请输入你的密码:') if inp_name == username and inp_pwd == password: print('登录成功') while True: cmd = input("需要执行的命令") if cmd == 'exit': # 退出整个程序,循环结束 print('程序退出') break # 结束内部while循环 else: print('代码{xxx}正在运行'.format(xxx=cmd)) break # 内部循环结束后,运行到这行,结束主循环 else: print('账号或密码错误') else: # 判断条件3次循环结束后,运行。 print("3次错误,请一小时后再试")
以上代码 在账号密码输错3次后会通过range(3)三次限制结束循环,并通过else提示输错三次错误。