zoukankan      html  css  js  c++  java
  • python基础|循环流程控制if,while和for

    循环控制

      在python程序运行时是自上而下顺序的运行,就好比说:把大象装进冰箱里需要几步。事件1打开冰箱门,事件2把大象塞进去,事件3把冰箱门关上。就完成了把大象方静冰箱的操作。python程序也是如此,一步一步运行。但是如果你完成了事件1,突然有人喊你,让你做另一件事。怎办呢?我们应该判断一下,是继续装大象呢还是区做其他事情?这就是我们程序上的中断的了,也就是说在事件2的时候我们被打断了。在python中又是怎样实现的呢?    

    1 循环控制之if

      python中的有两件事情A,B。做完了事情就可以做事件3。

    # 事件1 事件A与事件B,事件3
    a = input('事件1:请输入要做事件A or B')
    if a == 'A':
        print('做事情A:做其他事情')
    else:
        print('做事情B:装大象')
    print('事件3:继续向下执行')
    ...

    在上面的例子,如果我们不去做其他事情,就继续装大象,这就是if...else的搭配,不是A,就是B。但是不管我们是装大象还是做其他事情,做完事情后仍然继续做事件3。如果其他事情是装老虎,装猴子,怎么办?我们就需要if的另一种用法,if...elif...else.

    # 事件1 事件A与事件B,C,D,事件3
    a = input('事件1:请输入要做事件A or B')
    if a == 'A':
        print('做事情A:做其他事情')
    elif a == 'C':
        print('装老虎')
    elif a == 'D':
        print('装猴子')
    else:
        print('做事情B:装大象')
    print('事件3:继续向下执行')

      在if语句使用时,读者应该看出if的使用语法:if+判断条件。这个判断条件就是选择的依据。条件成立即为真,否者为假(这个读者可以思考一下前面所讲的布尔值)。条件为真就执行,此条件下的指令块。

      在这里要讲一下,python对于格式比较讲究的,主程序靠左对齐,每个控制下的指令块为为子程序,与主程序相比退后4个空格,同级对齐,以此类推。

    2 循环控制while

      while的使用语法和类似:while + 条件语句:但是if和while相比,while才是算是一个循环指令。当条件指令为真且不变,那么while下的子程序将会无限执行下去。在写程序时这种情况最好不出现,对计算机的CPU来说是一种‘伤害’,计算机不停计算,硬盘不停存储数据,读者朋友,你可以在你电脑上试试。此外,break指令,continue指令的使用,while...else...也可使配合使用。

    # while语句都使用
    while True:
        print('死循环‘)
    死循环
    死循环
    死循环
    死循环
    死循环
    。。。
    while + break  #将while那一层循环结束
    while + continue #将continue所在循环,本次结束,开始下一次
    while + else  # while循环正常结束是执行else

     

     3 循环控制for

      for语句也是一个循环语句,但是for的语法和前面两种有些不同。for+(变量名[i/j/itmer])+in+对象。这个对象可以是字符串,列表,字典,元组,集合等。

      和while,if还有一点不同的是它不需要判断条件,for也可以与else配合使用。

    a = '1234546789'
    # 字符串遍历
    for i in a:
        print(i, end='  ')
    1  2  3  4  5  4  6  7  8  9  
    # 列表遍历list()
    for j in list(a):
        print(j, end='  ')
    1  2  3  4  5  4  6  7  8  9
    # # 字典遍历
    a1 = {'a': 1, 'b': 2, 'c': 3}
    for itmer in a1:
        print(itmer, end=' ')    #字典遍历只把键送出来。
    a b c                 

    知识扩展

      len(),可以计算容器内元素个数。

    a = '1234546789'
    # 字符串长度/个数
    print(len(a))
    10
    # 列表元素个数/长度
    print(len(list(a)))
    10

      range()

      在python2中也有range,和xrange(),和python3有什么区别吗?我们来看

      在python2中我们使用range(),程序会把数据立即提取出来,xrange()和python3中一样。

      

    小试牛刀 

    户登录次数
    1, 用户登录三次失败后直接结束程序
    2, 用户尝试三次错误之后提示用户是否继续尝试,如果用户输入'y'那么再给用户三次机会,输入'q'直接退出
    # 1, 用户登录三次失败后直接结束程序
    from_db_ureName = 'meKing'
    from_db_password = 123
    sign = True
    a = 0   # 记录错误次数
    while sign:
        ureName = input('请输入用户名:').strip()
        password = int(input('请输入密码:').strip())
        if ureName == from_db_ureName and password == from_db_password:
            print('%s,您已成功登录'%ureName)
            sign = False
        else:
            a += 1      # 没错误一次,加一
            if a == 3:          # 如果错误三次,将退出程序
                sign = False
                print('非法输入')
            continue    # 结束本次循环
    
    
    # 2, 用户尝试三次错误之后提示用户是否继续尝试,如果用户输入'y'那么再给用户三次机会,输#入'q'直接退出
    from_db_ureName = 'meKing'
    from_db_password = 123
    sign = True     # 程序对出标志位
    a = 0       # 错误计数变量
    while sign:
        ureName = input('请输入用户名:').strip()      # strip(),清除字符串两边空格
        password = int(input('请输入密码:').strip())
        if ureName == from_db_ureName and password == from_db_password:
            sign = False
            print('%s,您已经成功登录')
        else:
            a += 1
            if a == 3:      # 判断是否错误有三次
                cmd = input('您已经错误三次,继续输入"Y",退出输入"q":').strip()
                if cmd == 'Y':      # 判断是否再次输入
                    a = 0           # 错误计数清零
                elif cmd == 'q':    # 判断是否退出
                    sign = False
            continue
    参考程序
  • 相关阅读:
    Makefile 运行
    fortran中//表示什么啊?双斜杠
    如何设置EXCEL打印范围
    Makefile学习_简介
    小白初学Ioc、DI、Castle Windsor依赖注入,大神勿入(不适)
    小白初学ABP框架,着实累啊
    职场初体验
    3.8.1 块作用域
    3.8 控制流程
    3.7.3 文件输入与输出
  • 原文地址:https://www.cnblogs.com/huaiXin/p/11122021.html
Copyright © 2011-2022 走看看