Python 学习笔记 语法入门之for循环


一、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

 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循环一样

for + while + break + else 示例
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提示输错三次错误。

四、补充

1、for搭配range,可以按照索引取值,但是需要自己去数元素的索引数量。

可以搭配 len() 关键字来实现 自动遍历。

点击看 示例
l=['aaa','bbb','ccc']  # len()窍门
for i in range(len(l)):
    print(i,l[i])

# 输出结果
aaa
bbb
ccc

2、Python 3 以后对range做了优化;

原理:

不再像以前的版本把设置好的值,制造好了以后放到容器里。Python 3 以后的版本是需要多少值就制造多少直接给你,提升了内存使用效率。

五、for + continue 的应用

比while循环要简洁一点

点击看 示例
for i in range(6): # 不管情况如何 这里只循环6次
    if i == 4:     # i等于4时,执行continue。
        continue
    print(i)      
# 输出结果
# 0
# 1
# 2
# 3
# 5

六、for 循环嵌套

 for循环嵌套;外层循环一次,内层需要循环完成,再循环外层的次数。

点击看 示例
for i in range(3):
    print('外层',i)
    for j in range(5):
        print('内存',j)
'# 输出结果'
# 外层 0
# 内存 0
# 内存 1
# 内存 2
# 内存 3
# 内存 4
# 外层 1
# 内存 0
# 内存 1
# 内存 2
# 内存 3
# 内存 4
# 外层 2
# 内存 0
# 内存 1
# 内存 2
# 内存 3
# 内存 4

补充:终止for循环只有break一种方案!!!

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM