zoukankan      html  css  js  c++  java
  • Python第二天

    一、流程控制

    1.条件语句

    1.1单分支

    1.2多分支

    条件判断

    计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。

    a = 5
    if a > 2:
        print('yes')

    根据Python的缩进规则,如果if语句判断是True,就把缩进的两行print语句执行了,否则,什么也不做。

    也可以给if添加一个else语句,意思是,如果if判断是False,不要执行if的内容,去把else执行了:

    a = 5
    if a > 8:
        print('yes')
    else:
        print('no')

    注意不要少写了冒号:

    当然上面的判断是很粗略的,完全可以用elif做更细致的判断:

    复制代码
    a = 5
    if a > 8:
        print('yes')
    elif a > 3:
        print('no')
    else:
        print('bey')
    复制代码

    elifelse if的缩写,完全可以有多个elif,所以if语句的完整形式就是:

    复制代码
    if <条件判断1>:
        <执行1>
    elif <条件判断2>:
        <执行2>
    elif <条件判断3>:
        <执行3>
    else:
        <执行4>
    复制代码

    if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elifelse

    if判断条件还可以简写,比如写:

    if x:
        print('True')

    只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False

    2.循环

    Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来,看例子:

    for i in range(0,5):
        print(i)
    else:
        print('The for loop is over')
    names = ['Michael', 'Bob', 'Tracy']
    for name in names:
        print(name)

    所以for x in ...循环就是把每个元素代入变量x,然后执行缩进块的语句。

    再比如我们想计算1-100的整数之和,可以用一个sum变量做累加:

    sum = 0
    for x in range(101):
        sum+=x
    print(sum)

    习题:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买一百只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱。

    for x in range(1,20):
        for y in range(1,33):
            z = 100-x-y
            if (z % 3 == 0) and (x * 5 + y * 3 + z / 3 == 100):
                s = "公鸡:%d;母鸡:%d;小鸡:%d;" %(x,y,z)
                print(s)

     结果:

    公鸡:4;母鸡:18;小鸡:78
    公鸡:8;母鸡:11;小鸡:81
    公鸡:12;母鸡:4;小鸡:84

    第二种循环是while循环,只要条件满足,就不断循环,条件不满足时退出循环。比如我们要计算100以内所有奇数之和,可以用while循环实现:

    sum = 0
    n = 99
    while n > 0:
        sum += n
        n = n - 2
    print(sum)

    在循环内部变量n不断自减,直到变为-1时,不再满足while条件,循环退出。

    循环

    阅读: 516621

    循环

    要计算1+2+3,我们可以直接写表达式:

    >>> 1 + 2 + 3
    6
    

    要计算1+2+3+...+10,勉强也能写出来。

    但是,要计算1+2+3+...+10000,直接写表达式就不可能了。

    为了让计算机能计算成千上万次的重复运算,我们就需要循环语句。

    Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来,看例子:

    names = ['Michael', 'Bob', 'Tracy']
    for name in names:
        print(name)
    

    执行这段代码,会依次打印names的每一个元素:

    Michael
    Bob
    Tracy
    

    所以for x in ...循环就是把每个元素代入变量x,然后执行缩进块的语句。

    再比如我们想计算1-10的整数之和,可以用一个sum变量做累加:

    sum = 0
    for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
        sum = sum + x
    print(sum)
    

    如果要计算1-100的整数之和,从1写到100有点困难,幸好Python提供一个range()函数,可以生成一个整数序列,再通过list()函数可以转换为list。比如range(5)生成的序列是从0开始小于5的整数:

    >>> list(range(5))
    [0, 1, 2, 3, 4]
    

    range(101)就可以生成0-100的整数序列,计算如下:

    sum = 0
    for x in range(101):
        sum = sum + x
    print(sum)
    

    请自行运行上述代码,看看结果是不是当年高斯同学心算出的5050。

    第二种循环是while循环,只要条件满足,就不断循环,条件不满足时退出循环。比如我们要计算100以内所有奇数之和,可以用while循环实现:

    sum = 0
    n = 99
    while n > 0:
        sum = sum + n
        n = n - 2
    print(sum)
    

    在循环内部变量n不断自减,直到变为-1时,不再满足while条件,循环退出。

    break

    在循环中,break语句可以提前退出循环。例如,本来要循环打印1~100的数字:

    复制代码
    n = 1
    while n <= 100:
        if n > 10: # 当n = 11时,条件满足,执行break语句
            break # break语句会结束当前循环
        print(n)
        n += 1
    print('END')
    复制代码

    执行上面的代码可以看到,打印出1~10后,紧接着打印END,程序结束。

    可见break的作用是提前结束循环。

    continue

    在循环过程中,也可以通过continue语句,跳过当前的这次循环,直接开始下一次循环。

    n = 0
    while n < 10:
        n += 1
        if n % 2 == 0: # 如果n是偶数,执行continue语句
            continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行
        print(n)

    执行上面的代码可以看到,打印的不再是1~10,而是1,3,5,7,9。

    可见continue的作用是提前结束本轮循环,并直接开始下一轮循环。

    小结:break用于退出本层循环;continue用于退出本次循环,继续下一次循环

  • 相关阅读:
    ICONS-图标库
    图形资源
    vue项目中,如果修改了组件名称,vscode编辑器会在引入修改组件的名字处提示红色波浪线 The file is in the program because:Imported via xxx Root file specified for compilation .
    接口在dev环境报跨域问题(has been blocked by CORS policy:Response to preflight request doesn't pass access control check:No 'Access-Control-Allow-Origin' header ispresent on the requested resource.),qa环境正常
    阿里云occ的图片文件URL用浏览器直接打开无法访问,提示This XML file does noe appear to have any style information associated with it. The document tree is shown below.
    vue 项目使用element ui 中tree组件 check-strictly 用法(父子不互相关联的反显情况)
    高德地图进行线路规划绘制标记点操作(vue)
    vue中实现拖拽调整顺序功能
    2021-01-22 浏览器相关知识
    2021-01-22 js 相关知识点
  • 原文地址:https://www.cnblogs.com/xiaoyonglaing/p/7263917.html
Copyright © 2011-2022 走看看