• python全栈开发基础【第四篇】Python流程控制


    流程控制if…else

    既然我们编程的目的是为了控制计算机能够像人脑一样工作,那么人脑能做什么,就需要程序中有相应的机制去模拟。人脑无非是数学运算和逻辑运算,对于数学运算在上一节我们已经说过了。对于逻辑运算,即人根据外部条件的变化而做出不同的反映,比如
    1 如果:女人的年龄>30岁,那么:叫阿姨
    
    age_of_girl=31 
    if age_of_girl > 30: 
    print('阿姨好') 

    2 如果:女人的年龄>30岁,那么:叫阿姨,否则:叫小姐 

    age_of_girl=18 
    if age_of_girl > 30: 
    print('阿姨好') 
    else: 
    print('小姐好') 
    

      


    3 如果:女人的年龄>=18并且<22岁并且身高>170并且体重<100并且是漂亮的,那么:表白,否则:叫阿姨

    age_of_girl=18 
    height=171 
    weight=99 
    is_pretty=True 
    if age_of_girl >= 18 and age_of_girl < 22 and height > 170 and weight < 100 and is_pretty == True: 
    print('表白…')else: 
    print('阿姨好')
    
    在表白的基础上继续: 
    如果表白成功,那么:在一起 
    否则:打印。。。
    
    age_of_girl=18 
    height=171 
    weight=99 
    is_pretty=True
    
    success=False
    
    if age_of_girl >= 18 and age_of_girl < 22 and height > 170 and weight < 100 and is_pretty == True: 
    if success: 
    print('表白成功,在一起') 
    else: 
    print('什么爱情不爱情的,爱nmlgb的爱情,爱nmlg啊…') 
    else: 
    print('阿姨好')
    

      

    4 如果:成绩>=90,那么:优秀
       如果成绩>=80且<90,那么:良好
       如果成绩>=70且<80,那么:普通
       其他情况:很差
    
    score=input('>>: ') 
    score=int(score)
    
    if score >= 90: 
    print('优秀') 
    elif score >= 80: 
    print('良好') 
    elif score >= 70: 
    print('普通') 
    else: 
    print('很差')
    
      if 条件1:
    
        缩进的代码块
    
      elif 条件2:
    
        缩进的代码块
    
      elif 条件3:
    
        缩进的代码块
    
      ……
    
      else:  
    
        缩进的代码块
    

      

    !/usr/bin/env python
    
    name=input('请输入用户名字:') 
    password=input('请输入密码:')
    
    if name == 'egon' and password == '123': 
      print('egon login success') 
    else: 
      print('用户名或密码错误')
    练习一:用户登陆验证

      

    #!/usr/bin/env python
    #根据用户输入内容打印其权限
    
    '''
    egon --> 超级管理员
    tom  --> 普通管理员
    jack,rain --> 业务主管
    其他 --> 普通用户
    '''
    name=input('请输入用户名字:')
    
    if name == 'egon':
        print('超级管理员')
    elif name == 'tom':
        print('普通管理员')
    elif name == 'jack' or name == 'rain':
        print('业务主管')
    else:
        print('普通用户')
    
    练习二:根据用户输入内容输出其权限
    
    # 如果:今天是Monday,那么:上班
    # 如果:今天是Tuesday,那么:上班
    # 如果:今天是Wednesday,那么:上班
    # 如果:今天是Thursday,那么:上班
    # 如果:今天是Friday,那么:上班
    # 如果:今天是Saturday,那么:出去浪
    # 如果:今天是Sunday,那么:出去浪
    
    
    #方式一:
    today=input('>>: ')
    if today == 'Monday':
        print('上班')
    elif today == 'Tuesday':
        print('上班')
    elif today == 'Wednesday':
        print('上班')
    elif today == 'Thursday':
        print('上班')
    elif today == 'Friday':
        print('上班')
    elif today == 'Saturday':
        print('出去浪')
    elif today == 'Sunday':
        print('出去浪')
    else:
        print('''必须输入其中一种:
        Monday
        Tuesday
        Wednesday
        Thursday
        Friday
        Saturday
        Sunday
        ''')
    
    #方式二:
    today=input('>>: ')
    if today == 'Saturday' or today == 'Sunday':
        print('出去浪')
    
    elif today == 'Monday' or today == 'Tuesday' or today == 'Wednesday' 
        or today == 'Thursday' or today == 'Friday':
        print('上班')
    
    else:
        print('''必须输入其中一种:
        Monday
        Tuesday
        Wednesday
        Thursday
        Friday
        Saturday
        Sunday
        ''')
    
    
    #方式三:
    today=input('>>: ')
    if today in ['Saturday','Sunday']:
        print('出去浪')
    elif today in ['Monday','Tuesday','Wednesday','Thursday','Friday']:
        print('上班')
    else:
        print('''必须输入其中一种:
        Monday
        Tuesday
        Wednesday
        Thursday
        Friday
        Saturday
        Sunday
        ''')
    
    练习三
    

      

    流程控制while循环

       1 为何要用循环

    #上节课我们已经学会用if .. else 来猜年龄的游戏啦,但是只能猜一次就中的机率太小了,如果我想给玩家3次机会呢?就是程序启动后,玩家最多可以试3次,这个怎么弄呢?你总不会想着把代码复制3次吧。。。。
    
    age_of_oldboy = 48
    
    guess = int(input(">>:"))
    
    if guess > age_of_oldboy :
        print("猜的太大了,往小里试试...")
    
    elif guess < age_of_oldboy :
        print("猜的太小了,往大里试试...")
    
    else:
        print("恭喜你,猜对了...")
    
    #第2次
    guess = int(input(">>:"))
    
    if guess > age_of_oldboy :
        print("猜的太大了,往小里试试...")
    
    elif guess < age_of_oldboy :
        print("猜的太小了,往大里试试...")
    
    else:
        print("恭喜你,猜对了...")
    
    #第3次
    guess = int(input(">>:"))
    
    if guess > age_of_oldboy :
        print("猜的太大了,往小里试试...")
    
    elif guess < age_of_oldboy :
        print("猜的太小了,往大里试试...")
    
    else:
        print("恭喜你,猜对了...")
    
    #即使是小白的你,也觉得的太low了是不是,以后要修改功能还得修改3次,因此记住,写重复的代码是程序员最不耻的行为。
    那么如何做到不用写重复代码又能让程序重复一段代码多次呢? 循环语句就派上用场啦
     
     

    2 条件循环:while,语法如下

    while 条件:    
        # 循环体
     
        # 如果条件为真,那么循环体则执行,执行完毕后再次循环,重新判断条件。。。
        # 如果条件为假,那么循环体不执行,循环终止
    #打印0-10
    count=0
    while count <= 10:
        print('loop',count)
        count+=1
    
    #打印0-10之间的偶数
    count=0
    while count <= 10:
        if count%2 == 0:
            print('loop',count)
        count+=1
    
    #打印0-10之间的奇数
    count=0
    while count <= 10:
        if count%2 == 1:
            print('loop',count)
        count+=1

        3 死循环

    import time
    num=0
    while True:
        print('count',num)
        time.sleep(1)
        num+=1   

        4 循环嵌套与tag

      tag=True 
    
      while tag:
    
        ......
    
        while tag:
    
          ........
    
          while tag:
    
            tag=False
    #练习,要求如下:
        1 循环验证用户输入的用户名与密码
        2 认证通过后,运行用户重复执行命令
        3 当用户输入命令为quit时,则退出整个程序 

    #实现一:
    name='egon'
    password='123'

    while True:
    inp_name=input('用户名: ')
    inp_pwd=input('密码: ')
    if inp_name == name and inp_pwd == password:
    while True:
    cmd=input('>>: ')
    if not cmd:continue
    if cmd == 'quit':
    break
    print('run <%s>' %cmd)
    else:
    print('用户名或密码错误')
    continue
    break

    #实现二:使用tag
    name='egon'
    password='123'

    tag=True
    while tag:
    inp_name=input('用户名: ')
    inp_pwd=input('密码: ')
    if inp_name == name and inp_pwd == password:
    while tag:
    cmd=input('>>: ')
    if not cmd:continue
    if cmd == 'quit':
    tag=False
    continue
    print('run <%s>' %cmd)
    else:
    print('用户名或密码错误')


    复制代码
    #实现一:
    name='egon'
    password='123'
    
    while True:
        inp_name=input('用户名: ')
        inp_pwd=input('密码: ')
        if inp_name == name and inp_pwd == password:
            while True:
                cmd=input('>>: ')
                if not cmd:continue
                if cmd == 'quit':
                    break
                print('run <%s>' %cmd)
        else:
            print('用户名或密码错误')
            continue
        break
    
    #实现二:使用tag
    name='egon'
    password='123'
    
    tag=True
    while tag:
        inp_name=input('用户名: ')
        inp_pwd=input('密码: ')
        if inp_name == name and inp_pwd == password:
            while tag:
                cmd=input('>>: ')
                if not cmd:continue
                if cmd == 'quit':
                    tag=False
                    continue
                print('run <%s>' %cmd)
        else:
            print('用户名或密码错误')
    复制代码

        4 break与continue

    #break用于退出本层循环
    while True:
    print "123"
    break
    print "456"

    #continue用于退出本次循环,继续下一次循环
    while True:
    print "123"
    continue
    print "456"


    复制代码
    #break用于退出本层循环
    while True:
        print "123"
        break
        print "456"
    
    #continue用于退出本次循环,继续下一次循环
    while True:
        print "123"
        continue
        print "456"
    复制代码

        5 while+else

    #与其它语言else 一般只与if 搭配不同,在Python 中还有个while ...else 语句,while 后面的else 作用是指,当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句
    count = 0
    while count <= 5 :
    count += 1
    print("Loop",count)

    else:
    print("循环正常执行完啦")
    print("-----out of while loop ------")
    输出
    Loop 1
    Loop 2
    Loop 3
    Loop 4
    Loop 5
    Loop 6
    循环正常执行完啦
    -----out of while loop ------

    #如果执行过程中被break啦,就不会执行else的语句啦
    count = 0
    while count <= 5 :
    count += 1
    if count == 3:break
    print("Loop",count)

    else:
    print("循环正常执行完啦")
    print("-----out of while loop ------")
    输出

    Loop 1
    Loop 2
    -----out of while loop ------

    复制代码
    #与其它语言else 一般只与if 搭配不同,在Python 中还有个while ...else 语句,while 后面的else 作用是指,当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句
    count = 0
    while count <= 5 :
        count += 1
        print("Loop",count)
    
    else:
        print("循环正常执行完啦")
    print("-----out of while loop ------")
    输出
    Loop 1
    Loop 2
    Loop 3
    Loop 4
    Loop 5
    Loop 6
    循环正常执行完啦
    -----out of while loop ------
    
    #如果执行过程中被break啦,就不会执行else的语句啦
    count = 0
    while count <= 5 :
        count += 1
        if count == 3:break
        print("Loop",count)
    
    else:
        print("循环正常执行完啦")
    print("-----out of while loop ------")
    输出
    
    Loop 1
    Loop 2
    -----out of while loop ------
    复制代码

        6 while循环练习题

    #1. 使用while循环输出1 2 3 4 5 6     8 9 10
    #2. 求1-100的所有数的和
    #3. 输出 1-100 内的所有奇数
    #4. 输出 1-100 内的所有偶数
    #5. 求1-2+3-4+5 ... 99的所有数的和
    #6. 用户登陆(三次机会重试)
    #7:猜年龄游戏
    要求:
        允许用户最多尝试3次,3次都没猜对的话,就直接退出,如果猜对了,打印恭喜信息并退出
    #8:猜年龄游戏升级版 
    要求:
        允许用户最多尝试3次
        每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序
        如何猜对了,就直接退出 

    #题一
    count=1
    while count <= 10:
    if count == 7:
    count+=1
    continue
    print(count)
    count+=1

    count=1
    while count <= 10:
    if count != 7:
    print(count)
    count+=1

    #题目二
    res=0
    count=1
    while count <= 100:
    res+=count
    count+=1
    print(res)

    #题目三
    count=1
    while count <= 100:
    if count%2 != 0:
    print(count)
    count+=1

    #题目四
    count=1
    while count <= 100:
    if count%2 == 0:
    print(count)
    count+=1



    #题目五
    res=0
    count=1
    while count <= 5:
    if count%2 == 0:
    res-=count
    else:
    res+=count
    count+=1
    print(res)

    #题目六
    count=0
    while count < 3:
    name=input('请输入用户名:')
    password=input('请输入密码:')
    if name == 'egon' and password == '123':
    print('login success')
    break
    else:
    print('用户名或者密码错误')
    count+=1

    #题目七
    age_of_oldboy=73

    count=0
    while count < 3:
    guess=int(input('>>: '))
    if guess == age_of_oldboy:
    print('you got it')
    break
    count+=1

    #题目八
    age_of_oldboy=73

    count=0
    while True:
    if count == 3:
    choice=input('继续(Y/N?)>>: ')
    if choice == 'Y' or choice == 'y':
    count=0
    else:
    break

    guess=int(input('>>: '))
    if guess == age_of_oldboy:
    print('you got it')
    break
    count+=1

    流程控制for循环

    1 迭代式循环:for,语法如下 

     for i in range(10):
    
        缩进的代码块
    

     

    2 break与continue(同white用法) 


    3 循环嵌套 

    # 打印九九乘法口诀
    for i in range(1,10):
        for j in range(1,i+1):
            print('%s*%s=%s' %(i,j,i*j),end=' ')
        print()









  • 相关阅读:
    文件上传时jquery.form.js中提示form.submit SCRIPT5: 拒绝访问
    window.open参数设置及如何全屏显示(转)
    使用jQuery清空file文件域的解决方案(转)
    Aspose.Cells 设置背景颜色
    sql查询指定范围内的所有月份
    sql查询当前月内的所有日期
    浏览器打印显示页眉页脚
    保留两位小数正则
    Windows Server 2008 R2 域控服务器运行nslookup命令默认服务器显示 UnKnown
    Windows Server 2008 R2 主域控制器委派DNS到子域控控制器
  • 原文地址:https://www.cnblogs.com/xiaohema/p/8452959.html
Copyright © 2020-2023  润新知