• 7. 流程控制之for循环


    1. 什么是for循环

    循环就是重复做某件事,for循环就是Python提供的第二种循环机制

    2. 为何要有for循环

    理论上for循环能做的事情,while循环都能做

    之所以要有for循环,是因为for循环在循环取值(遍历取值)比while循环更简洁

    3. 如何用for循环

    3.1 基本使用之循环取值

    语法:

    for 变量名 in 可迭代对象: #可迭代对象可以是:列表、字典、字符串、元组、集合
        代码1
        代码2
        代码3
    

    案例1:列表循环取值

    简单版
    l=['alex_dsb','lxx_dsb','egon_nb']
    for x in l:        # x= 'alex_dsb' > 'lxx_dsb' > 'egon_nb'
    	print(x)
    
    复杂版:
    l=['alex_dsb','lxx_dsb','egon_nb']
    i=0
    while i<3 :
    	print (l[i])
    	i+=1
    

    案例2:字典循环取值

    # 简单版
    dic={'k1':111,'k2':2222,'k3':333}
    for k in dic :
    	print(k,dic[k])
    
    
    # 复杂版
    while循环可以遍历字典,但是太麻烦了
    

    案例3:字符串循环取值

    #简单版
    msg="you can you up , no can no bb "
    for x in msg:
    	print(x)
    
    #复杂版:while循环可以遍历字典,太麻烦了
    
    

    3.2 总结for循环与while循环的异同

    • 相同之处:都是循环,for循环能做的事,while循环都能做

    • 不同之处:

      • while循环称之为“条件循环”,循环次数取决于条件何时变为假
      • for循环称之为“取值循环”,循环次数取决in后包含的值的个数
    for i in [1,2,3]:
        print('=====>')
        print('666666')
        
    =====>
    666666
    =====>
    666666
    =====>
    666666
    

    3.3 for循环控制循环次数:range()

    in后直接放一个数据类型来控制循环次数有局限性:

    当循环次数过多时,数据类型包含值的格式需要增加

    特性:顾头不顾尾

    >>> range(10)		# 顾头不顾尾,下标是0-9
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> range(1,9)		# 从一开始1-9,取不到9,所以是1-8
    [1, 2, 3, 4, 5, 6, 7, 8]
    >>> range(1,9,1)	# 从一开始1-9,取不到9,步长是1,所以是1-8
    [1, 2, 3, 4, 5, 6, 7, 8]
    >>> range(1,9,2)	# 从一开始1-9,取不到9,步长是2,所以是1,3,5,7
    [1, 3, 5, 7]
    >>>
    for i in range(5):
        print("*******")
        
    *******
    *******
    *******
    *******
    *******
    

    for + break 的连用,和 while 循环一样

    for + else 的连用,和 while 循环一样

    username = 'xxq'
    password = '123'
    count=0
    
    for i in range(3):
        inp_name=input('请输入您的账号:')
        inp_pwd=input('请输入您的密码:')
    
        if inp_name == username and inp_pwd == password:
            print('登录成功')
            break
        else:
            print('帐号或密码错误,请重试')
    else:
        print('输错3次,退出程序')
    

    3.4 range补充知识(了解)

    3.4.1 for搭配range,可以按照索引取值,但是麻烦,所以不推荐

    l=['aaa.txt','bbb','ccc']     #len(l)
    
    for i in range(len(l)) :
    	print (i,l[i])
    
     
    
    for x in l:
    	print (l)
    

    3.4.2 range( ) 在python3里得到的是一只"会下蛋的老母鸡"

    3.5 for + continue

    for i in range(6):  #0 1 2 3 4 5
        if i == 4:
            continue	#直接跳过4
        print(i)
    0
    1
    2
    3
    5
    

    3.6 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
    

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

    print之逗号的使用

    print('hello %s' % 'eogn')
    # print之逗号的使用
    print('hello' ,'world', 'eogn')
    
    hello eogn
    hello world eogn
    
    
    
    
    

    换行符

    #换行符
    print('hello
    ')
    print('world')
    
    hello
    
    world
    

    print值end参数的使用

    # print值end参数的使用
    print('hello
    ',end='')
    print('world')
    
    hello
    world
    
    print('hello',end='*')
    print('world',end='*')
    
    hello*world*
    
  • 相关阅读:
    091122杂记
    20100304我的碎碎念
    写给自己
    开始学习AGG
    找两个数组中的相同元素
    要多写代码了
    [翻译] AGG Reference 之 Basic Renderers(基础渲染器)
    在博客园日志中显示数学公式(旧,ASCIIMathML.js版说明)
    091128日志(博客园博客显示数学公式的方法!)
    与临时对象的斗争(上)
  • 原文地址:https://www.cnblogs.com/j-chao/p/13031679.html
Copyright © 2020-2023  润新知