zoukankan      html  css  js  c++  java
  • [从零开始学Python]2.分支和循环

    二、分支和循环

    ​ 在学习分支、循环等内容之前,我们要先清楚Python代码的流程控制,流程控制:对计算机代码执行顺序的管理。流程分类:1.顺序结构;2.分支选择结构;3.循环结构。

    1.分支选择

    1.单项分支

    ​ 如果学习过其他语言,那么对于if 都有过一定程度的了解了,例如c语言中

    int a = 1;
    if(a>=0)
    {
    	print('a是正数');
    }

    ​ 而Python中,是依靠缩进去决定代码所属的代码块,本段代码的前两个输出是归if判断的,而第三个输出是与if无关的

    age = 30
    if age>=18:
        print('your age is:',age)
        print('adult')
    print('ok')

    ​ 之前学习中容易忽略掉的内容就是if其实是有返回值的,若判断满足if的条件,那么其实是会返回true的;因此,我们也经常能看到if被嵌套到其他语句中使用。

    2.双项分支

    3.多项分支

    age = 20
    if age>=6:
        print('teenager')
    elif age>=18:
        print('adult')
    else:
        print('kid')

    当有多项分支时,只有符合条件的首个分支会被执行,当有一个分支被执行时,与其平行的所有分支就被忽略掉了。

    2.循环结构

    1.while循环

    # 循环输出 1-10 的数
    i = 1
    while i<=10:
        print(i)
        i = i + 1
        # i += 1

    死循环的应用

    # 死循环的应用
    while True:
        k = input('请输入一个值:')
        print('输入的内容是:',k)
        if k == 'q':
            break # 跳出循环

    2.for … in 循环

    遍历字符串

    # 遍历字符串
    for i in 'abcde':
        print(i)

    遍历列表

    # 遍历列表:例:1-10求和
    sum = 0
    for x in [1,2,3,4,5,6,7,8,9,10]:
        sum=sum+x
    print(sum)
    
    # 若想要获取下标
    for i,n in enumerate(['a','b','c']):
        print('第{}个元素:{}'.format(i,n))

    遍历元组

    # 遍历元组
    for i in (10,40,80):
        print(i)

    遍历set{}结构

    # 遍历set
    for i in {10,40,80}:
        print(i)

    遍历字典:

    # 遍历字典
    a = {'name':'lsw','age':24,'sex':'male'}
    for i in a:
        print(i,":",a[i])
    for k,v in a.items():
        print(k,v)

    注意:字典.items() 功能是

    a = {'name':'lsw','age':24,'sex':'male'}
    print(a.items())
    # 结果:
    dict_items([('name', 'lsw'), ('age', 24), ('sex', 'male')])
    

    遍历嵌套的数据结构

    # 遍历嵌套的数据结构
    b = [('name','lsw'),('age','24'),('sex','male')]
    for k,v in b:
        print(k,v)

    3.range()函数

    # 循环生成0-9的值:
    for i in range(10):
        print(i,end=' ')
    print(' ')
    print('-'*30)
    # 循环输出2-6的值:
    for i in range(2,7):
        print(i,end=' ')
    print(' ')
    print('-'*30)
    # 循环输出0-50的值,步进为5
    for i in range(0,50,5):
        print(i,end=' ')
    print(' ')
    print('-'*30)
    # 循环输出10-1的值
    for i in range(10,0,-1):
        print(i,end=' ')
    print(' ')
    print('-'*30)

    range函数的作用之帮助我们快速生成一连串的序列

    # 用range快速生成一个list列表
    print(type(range(10)))
    # 由此可知range并非list结构,而是一个独立的结构
    print(list(range(10)))

    4.break和continue语句以及循环中的else子句

    ​ 这个的用法与c语言类似,break通常用于终止当前的代码段…

    3.实例

    99乘法表快速生成

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z72dIKQd-1579702822317)(C:Users刘生伟AppDataRoamingTypora ypora-user-imagesimage-20200122175815105.png)]

    分析:对于这种问题我们应该去注意行与列的关系,第一个乘数是1-9,可以放置到外层循环i,第二个乘数每行从1-i内层 循环

    for i in range(1,10):
        for j in range(1,i+1):
            print('{}*{}={:<2}'.format(i,j,i*j),end=' ')
        print('')

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tsXr3HGz-1579702822318)(C:Users刘生伟AppDataRoamingTypora ypora-user-imagesimage-20200122204746951.png)]

    分析:外层i 第一个乘数9-1,内层j第二个乘数1-i

    for i in range(9,0,-1):
        for j in range(1,i+1):
            print('{}*{}={:<2}'.format(i,j,i*j), end=' ')
        print('')

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JfCDxzjP-1579702822320)(C:Users刘生伟AppDataRoamingTypora ypora-user-imagesimage-20200122204832964.png)]

    分析:由于要空出来,所以我们应该内外层都给他填满,还是按以前一样找两个乘数哪个适合做外层/内层循环

    for i in range(1,10):
        for j in range(1,10):
            if j>=i :
                print('{}*{}={:>2}'.format(i,j,i*j),end=' ')
            else:
                print('{} {} {:<2}'.format(' ',' ',' '),end=' ')
        print('')	

    range(1,10):
    for j in range(1,10):
    if j>=i :
    print(’{}{}={:>2}’.format(i,j,ij),end=’ ‘)
    else:
    print(’{} {} {:<2}’.format(’ ‘,’ ‘,’ ‘),end=’ ‘)
    print(’’)

    
    
  • 相关阅读:
    SQL Server 使用日志传送
    SQL Server 2008 R2 主从数据库同步
    JavaScript及C# URI编码详解
    sql server日期时间函数
    ASP.NET Core在Azure Kubernetes Service中的部署和管理
    [Nuget]Nuget命令行工具安装
    利用HttpListener创建简单的HTTP服务
    短链接实现
    [ubuntu]中文用户目录路径改英文
    [ubuntu]deb软件源
  • 原文地址:https://www.cnblogs.com/hzshisan/p/12571092.html
Copyright © 2011-2022 走看看