zoukankan      html  css  js  c++  java
  • Python 笔记——4 条件控制

    上一章讲了Python的数据类型及其用法,这一章来讲解Python的条件控制。

    1、if 条件

      if条件应该是所有编程语言中最经典的控制条件,但在python中,可以使用elif作为else if 的缩写。请注意:Python是一门强调缩进的语言,在if的条件后加入:表示这里是执行语句的入口,然后下一行必须按TAB缩进,下面的elif必须与上面同级的if对齐。

    >>> x = int(input("请输入一个整数:"))
    请输入一个整数:11
    >>> if x == 0:
        print(0)
    elif x > 0:
        print(x)
    else:
        print(-1)
    
        
    11

       那么在python中的三元表达式怎么写呢?x if y else z,假若满足条件y,则返回x,否则返回z。

    >>> x = 1
    >>> y = 2
    >>> "123" if  x > y else "321"
    '321'

    2、for

      python中的for与C#中的foreach 和 JAVA中的for有点相像。它能够遍历迭代器。下面我做了一个example,在py文件的文件夹中新建一个txt文件,里面放好我要遍历的文字。在py文件中定义函数main,首先打开test.txt,把所有行读取出来,给x赋值,打印出来以后发现是一个列表。当我使用for 来遍历x的时候,从x中读取每一行赋值给line,print之。

    def main():
        fh = open('test.txt')
        x = fh.readlines()
        print x
        for line in x:
            print(line)
    
    
    if __name__ == "__main__" : main()
    
    ['1 hi
    ', '2 hello
    ', '3 hello world']
    1 hi
    
    2 hello
    
    3 hello world

    3、while

      while循环和其他语言没有什么区别,当while中的条件为true的时候执行,否则结束循环。

    def main():
            i,j = 1,0
            while (i <= 100):
                    j,i = j+i,i+1
            print(j)        
    
    
    if __name__ == "__main__" : main()
    
    5050

    4、enumerate函数

      虽然这一节讲的条件控制,但是是在介绍for的时候不得不说一下enumerate这个函数。每一次它会返回两个值,第一个是index,第二个是值。

    def main():
            str = 'HelloWorld'
            for i,s in enumerate(str):
                    if s == "o":print('index {} is {}'.format(i,s))
    
    if __name__ == "__main__" : main()
    
    
    index 4 is o
    index 6 is o

    5、break、continue、else

      break表示跳出该循环,continent表示继续执行下一步,而else则是在循环结束时自动调用。在下面的程序中,有一个叫做range的函数,它有三种模式。

    range(x)、range(x,y)、range(x,y,z)。第一种是从0开始遍历到x-1,第二种是从x开始遍历到y-1,第三种是从x开始遍历到y-1,但步长为z。

    def main():
            for x in range(1,10):
                    for y in range(1,x):
                            if y == 5:
                                    break
                    else:
                            print(x),'break'
            i = 0
            for z in range(1,10):
                    if (z % 2 == 0):
                            continue
                    else:
                            print z,'continue'
    
    if __name__ == "__main__" : main()
    
    1 break
    2 break
    3 break
    4 break
    5 break
    1 continue
    3 continue
    5 continue
    7 continue
    9 continue

       最近有点事,要研究新算法,更新速度有点慢,内容也有点少,不过这些都是python比较基础的东西,在我写完预计的18-20章以后,再写一些项目实例。

  • 相关阅读:
    java中计算两个时间差
    增强for循环用法
    SQLServer类型与Java类型转换问题解决
    有关SQL模糊查询
    js 弹出div窗口 可移动 可关闭 (转)
    登陆sqlserver及修改端口号 (转)
    C#判断IP地址是否合法函数-使用正则表达式-2个 (转)
    c#图像处理入门(-bitmap类和图像像素值获取方法) 转
    MongoDB C#驱动中Query几个方法 (转)
    微信公众帐号自定义菜单创建及事件响应开发教程 附源代码(转)
  • 原文地址:https://www.cnblogs.com/44iter/p/3161864.html
Copyright © 2011-2022 走看看