zoukankan      html  css  js  c++  java
  • Python学习--04条件控制与循环结构

    Python学习--04条件控制与循环结构

    支持

    • ifif...elseif...elif ...if
    • while
    • for ... in...
    • continue, break
    • pass

    没有switch-case;没有普通的for x;y;z条件循环。

    条件控制

    在Python程序中,用if语句实现条件控制。

    语法格式:

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

    注意语句后面的冒号:。像经典的C、Java都是以花括号来区分代码块,但是Python没有使用花括号表示,而是缩进,所以一定需要了解它们的语法区别。

    示例:

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

    循环控制

    Python里有2种循环结构:
    1、for...in
    2、while

    注意Python里没有C语言里经典的for循环结构,也没有PHP里的foreach结构。

    for...in

    for...in循环会依次把list或tuple中的每个元素迭代出来,示例:

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

    输出:

    Michael
    Bob
    Tracy
    

    注意for语句后面的冒号:

    再看个求和的例子:

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

    输出:

    5050
    

    注意的是,range(101)生成的是0-100的整数序列,不是到101。

    对于字典(dict),for...in循环迭代的是key,而不是value:

    dict = {"name":"yjc", "age":18}
    for x in dict:
    	print(x, dict[x])
    

    输出:

    name yjc
    age 18
    

    while

    while循环是其它语言里很经典的循环结构,Pyhton里同样支持。

    sum = 0
    n = 0
    while n < 101:
        sum = sum + n
        n = n + 1
    print(sum)
    

    while循环里只要条件满足,就不断循环,条件不满足时退出循环。需要注意while语句后面的冒号:

    循环控制语句

    循环里如果我们想终止本次循环,可以使用continue;如果想终止整个循环,则使用break

    看看下面这个例子:

    sum = 0
    n = 0
    while n < 5:
        n = n + 1
        if n == 3:
            break #试试替换成continue
        sum = sum + n
    print(sum)
    

    输出:

    # 使用break:
    3
    
    # 使用continue:
    12
    

    空语句

    Python里使用pass表示空语句,即啥也不做。

    if age >= 18:
        pass
    

    在C语言里等同于:

    if( age>=18 ){
    
    }
    

    pass语句什么都不做,那有什么用?实际上pass可以用来作为占位符,比如现在还没想好怎么写函数的代码,就可以先放一个pass,让代码能运行起来。

    因为在其它语言里有花括号,如果花括号里面为空,代表啥也不做,但Python没有花括号,缺少了pass,代码运行就会有语法错误。

    Switch/Case模拟

    Python没有switch-case,过去写C习惯用Switch/Case语句,官方文档说通过if-elif实现。所以不妨自己来实现Switch/Case功能。

    1、通过字典实现

    def foo(var):
        return {
                'a': 1,
                'b': 2,
                'c': 3,
        }.get(var,'error')    #'error'为默认返回值,可自设置
    

    2、通过匿名函数实现

    def foo(var,x):
        return {
                'a': lambda x: x+1,
                'b': lambda x: x+2,
                'c': lambda x: x+3, 
        }[var](x)
    

    参考

    1、循环
    http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431676242561226b32a9ec624505bb8f723d0027b3e7000
    2、python中Switch/Case实现 - gerrydeng - 博客园
    https://www.cnblogs.com/gerrydeng/p/7191927.html

  • 相关阅读:
    Linux下解析域名命令-dig 命令使用详解
    重写、覆盖、重载、多态几个概念的区别分析
    介绍python中运算符优先级
    介绍Python中6个序列的内置类型
    Mysql(Mariadb)数据库主从复制
    winscp中使用sudo的方法
    git push跳过用户名和密码认证配置教程
    案例:通过shell脚本实现mysql数据备份与清理
    毕业季,我的Linux求职之路
    PHP和ajax详解
  • 原文地址:https://www.cnblogs.com/52fhy/p/6254508.html
Copyright © 2011-2022 走看看