zoukankan      html  css  js  c++  java
  • python笔记之流程控制

    流程控制

    条件语句

    if语句的基本格式

    if 判断条件:
        执行语句……
    else:
        执行语句……

    例子:

    flag = False
    name = 'luren'
    if name == 'python':         # 判断变量是否为 python
        flag = True              # 条件成立时设置标志为真
        print('welcome boss')    # 并输出欢迎信息
    else:
        print(name)               # 条件不成立时输出变量名称

     if多条件判断

    if 判断条件1:
        执行语句1……
    elif 判断条件2:
        执行语句2……
    elif 判断条件3:
        执行语句3……
    else:
        执行语句4……

    循环语句

    for循环

    for iterating_var in sequence:
       statements(s)

    例1:求计算1+3+5.....+45+47+49的值

    sums = 0
    for i in range(1, 50):
        if i % 2 == 0:
            continue
        sums += i
    print(sums)

    while循环基本格式

    while(条件判断语句):
            语句块1
            语句块2

    例2:求计算1+3+5.....+45+47+49的值

    a = 1
    sums = 0
    while (a < 50):
        sums += a
        a += 2
    print(sums)

    嵌套循环

    例3:打印九九乘法表

    for i in range(1, 10):
        for j in range(1, 10):
            if j <= i:
                print("%s*%s=%2s" % (j, i, i * j), end='	')
        print("")

    break语句

    break 语句可以跳出 for 和 while 的循环体

    例子:

    n = 5
    while n > 0:
        n -= 1
        if n == 2:
            break
        print(n)
    print('循环结束。')

    continue语句

    continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环

    例子:

    n = 5
    while n > 0:
        n -= 1
        if n == 2:
            continue
        print(n)
    print('循环结束。')

    pass 语句

    pass是空语句,是为了保持程序结构的完整性。

    pass 不做任何事情,一般用做占位语句

    执行顺序交给该 循环体同一层级的 下一条语句。

    LEGB

    L: 局部变量 局部作用域 local
    
    G:全局变量 整个文件 global
    
    E: 闭包变量 闭包空间 enclosing
    
    B: 内置变量 整个解释器 builtins
    

    流程控制练习

    a=1
    
    while(a<5):
        print(a)
        a+=1
        if a==3:
            break
    
    print('fesfes')

    2.代码实现斐波那契数列(比如前30个项)

    num = 30
    ret = []
    for i in range(num):
        if i == 0 or i == 1:
            ret.append(1)
        else:
            ret.append(ret[-1] + ret[-2])
    print(ret)

    3.打印九九乘法表,按照格式输出 九九乘法表

    for i in range(1, 10):
        for j in range(1, 10):
            if j <= i:
                print("%s*%s=%2s" % (j, i, i * j), end='	')
        print("")

    4.学生信息如下: infos = [{"name": '张三', "age": 18, "score": 98.8}, {"name": '小明', "age": 25, "score": 40.115}, {"name": 'ls', "age": 30, "score": 60.325}, {"name": 'frank', "age": 20, "score": 85.255}] 将成绩合格学生(score>=60)的信息放入 info_up_60列表中, 列表元素为字典 将成绩良好(90>score>=80)的 姓名信息 放入 names_80_90列表中, 列表元素为字符串 将成绩不及格(score<60)的 姓名及成绩 信息放入 info_down_60列表中。 列表元素为字典 将以上所有列表中成绩score转为字符串,要求浮点数保留两位小数。如98.8 转为98.80 打印以上所有列表,切记不能修改原列表infos信息

    infos = [{"name": '张三', "age": 18, "score": 98.8},
             {"name": '小明', "age": 25, "score": 40.115},
             {"name": 'ls', "age": 30, "score": 60.325},
             {"name": 'frank', "age": 20, "score": 85.255}]
    info_up_60 = []
    names_80_90 = []
    info_down_60 = []
    import decimal
    import copy
    
    for i in infos:
        score = i.get("score", 0)
        score_str = str(decimal.Decimal(str(score)).quantize(decimal.Decimal('1.00')))
        tmp_i = copy.deepcopy(i)
        tmp_i["score"] = score_str
        if score >= 60:
            info_up_60.append(tmp_i)
            if 90 > score >= 80:
                names_80_90.append(tmp_i["name"])
        else:
            tmp_i.pop("age")
            info_down_60.append(tmp_i)
    print(infos, info_up_60, nam_80_90, info_down_60)
  • 相关阅读:
    初识Mysql 连接器的收获(包含JDBC API最新文档)以及一些c++的有用技巧
    重拾 ”多项式“ 给我的启示
    vs2015下配置MySQL,使之能使用c++连接完美运行
    在CentOS上使用yum安装java
    CentOS 用yum安装中文输入法
    Redhat Linux RHEL5配置CentOS YUM更新源
    转:Linux下which、whereis、locate、find 命令的区别
    Centos 挂载NTFS格式的USB硬盘
    scp采用无密码在两台linux服务器之间传输数据
    转:Andriod studio技巧合集
  • 原文地址:https://www.cnblogs.com/zhangcheng94/p/12124271.html
Copyright © 2011-2022 走看看