zoukankan      html  css  js  c++  java
  • 流程控制

    流程控制

    1. if...else判断:
    2. while 循环
    3. for 循环

    ps:缩进表示代码块的归属,同一级别的代码快由上至下一次执行。

     if 判断:

    • 作用:让计算机像人一样具有判断事物对错的逻辑,然后执行相应的步骤
    • 语法:

       1. if 条件 :  #条件为True执行代码块

          代码块1

          代码块2

           ......     # 代码1与代码2为为统一缩进级别的代码块,同一级别的代码快由上至下一次执行。

       2. if 条件 : 

          代码块1

          代码块2

          ......

        else:# 当if条件为False时 执行

          代码3

          代码4

          ...... 

       3. if 条件 : 

          代码块1

          代码块2

          ......

        elif 条件: # 当if条件为False时 执行

          代码快3

          代码快4

          ......

        else: #  当if条件和elif条件都为False时 执行

          代码5

          代码6

          ...... 

        4.  if 嵌套  # if语句里可以嵌套if语句,进行进一步的逻辑判断

    例:

    #判断 如果是凉果汁饮料,就很好喝
    drink = 'beverages'
    kind = 'ade'
    is_icy = True
    
    if drink == 'beverages' and kind == 'ade' and is_icy:
        print('爽,好喝')
    >>> 爽,好喝
    #判断 如果是凉果汁饮料,就很好喝,否则就不喝
    drink = 'beverages'
    kind = 'ade'
    is_icy = False
    
    if drink == 'beverages' and kind == 'ade' and is_icy:
        print('爽,好喝')
    else:
        print('不喝!')
    >>>不喝!
    #判断 如果是凉果汁饮料,就很好喝,如果是5元以下的就喝,否则就不喝
    drink = 'beverages'
    kind = 'ade'
    price = 5
    is_icy = True
    
    
    if drink == 'beverages' and price > 10 and kind == 'ade' and is_icy:
        print('爽,好喝')
    elif drink == 'beverages' and price <= 5 and kind == 'ade' and is_icy:
        print('')
    else:
        print('不喝!')
    >>> 喝

    练习:

    #周一到周五上班,周六日出去浪
    
    #方法一:
    today = input('today:') # 获得用户输入
    if today == 'monday'or 
        today == 'Tuesday'or 
        today == 'Wednesday'or 
        today == 'Thursday'or 
            today == 'Friday':
        print('苦逼上班')
    elif today == 'Saturday' or
            today == 'Sunday':
        print('出去浪')
    
    #方法二:
    today = input('today:')
    if today !=  'Saturday' or
            today != 'Sunday':
        print('苦逼上班‘)
    elseprint('出去浪')
    
    #方法三:
    job = ['Monday','Tuesday','Wednesday','Thursday','Friday']
    play = ['Saturday','Sunday']
    today = input('today:')
    if today in job: #判断输入的是否是列表job里的元素
        print('上班')
    elif today in play:
        print('')
    if 判断:周一到周五上班,周六日出去浪
    # 成绩判断:
    grade = int(input('输入成绩:'))
    
    if grade >= 90:
        print('优秀')
    elif grade >= 80: # 当执行此行代码时,说明成绩不满足90分
        print('')
    elif grade >= 60:
        print('合格')
    else:
        print('不合格,补考!')
    if 判断成绩
    # 用户登录:
    use_name = 'waller' 
    pass_word = '123'  # 定义用户名和密码
    
    un = input('用户名:')
    pw = input('密码:')
    
    if un == use_name and pw == pass_word: 
        print("welcome %s" %(un))
    else:
        print("用户名或密码错误")
    if 判断用户登录

     whlie 循环

    • 作用:循环判断
    • 语法

      1. while 条件 :

        代码快1

        代码块2

        ......

       2. while + break:

       while 条件:

        代码块3

        代码块4

        ......

        break  # 强行终止循环并退出循环。

       print()

      3. while + continue:

        while 条件:

        代码块5

        代码块6

        ......

        continue  # 跳出当此循环,直接进行下一次循环

       print()

      4. while循环嵌套

       while 条件:

          代码块

          while 条件:

             代码块

             while 条件:

                代码块

                ......

    例:

    # while 循环取1-10
     count = 1
     while count <= 10:
         print(count)
         count += 1
    # 三次机会猜测年龄
    age = 50
    count = 0
    while count < 3: #利用while的条件,当条件不成立时,循环结束,否则执行
        guess_age = int(input("年龄:"))
        count += 1
        if guess_age > age:
            print("大了")
        elif guess_age < age:
            print("小了")
        else:   # 此处也可以用 elif guess_age == age:
            print("对了")
            break  # 猜对后直接退出循环
    # 输出1-10 ,4不打印 
    #方法一:
    count = 1
     while count <= 10:
         if count == 4:
             count += 1
             continue
         print(count)
         count += 1
    
    #方法二:
    count = 1
    while count <= 10 :
        if count != 4:
            print(count)
        count += 1

    练习:

    user_name = 'waller'
    pass_word = '123'
    count = 1
    while count <= 3:
        u_n = input('your name>>>:')
        p_w = input('your pw>>>:')
        if u_n == user_name and p_w == pass_word :
            print('welcome %s' %u_n)
            break
        else:
            print('用户名或密码错误')
            count += 1
    else:
        print('账号锁定')
    用户尝试三次登录,若三次都不对,直接退出程序。
    name = 'waller'
    world = 123
    count = 1
    while count <= 3:
        un = input('your mane>>>:')
        pw = int(input('your world>>>:'))
        if un == name and pw == world:
            print('welcome %s' %un)
            break
        elif count == 3:
            cmd = input('是否继续 Y/N>>>:')
            if cmd == 'Y':
                count = 0
            else:
                break
        else:
            print('用户名或密码错误')
            count += 1
    
    
    user_name = 'waller'
    pass_word = '110'
    count = 1
    flag = True
    while flag:
        un = input('用户名:').strip()
        pw = input('密码:').strip()
        if un == user_name and pw == pass_word:
             print('登陆成功')
             break
        elif count == 3:
            Once_again = input('是否继续尝试 y/n>>:').strip().upper()
            if Once_again == 'y':
                count = 1
                break
            elif Once_again == 'n':
                flag = not flag
        else:
            print('用户名或密码错误 *%d'%count)
            count += 1
    用户登录,若三次账号密码错误询问是否继续,继续再给三次机会,否则退出

    了解:while...esle...

      只有当while的条件正常结束时,才会执行else,break结束的while不会执行else

     for 循环

      for循环一般用于遍历元组、集合、列表这种数据类型里面的所有元素。(字典只会遍历key)

      简单的for循环结构(不同于while循环容易变成无限循环,for循环遍历完或中止便会结束运行)

    a = ('ppap','hello,world','phone')
    for b in a:
        print (b)
    
    for b in len(a): 
        print(b)
    len()  # 获取数据类型(容器类型)的个数,字符串是特例 获取的是字符串中字符的个数

      for + break

      如果想中止于某个元素前,可以在for循环中加入break函数#

    a = ['ppap','hello,world','phone','hello','zero']
    for b in a:
        if b == 'phone':
            break
        print (b,end=';')

      for + continue

      如果遍历时想跳过某个元素,用continue函数即可

    a = ['ppap','hello,world','phone','hello','zero']
    for b in a:
        if b == 'phone':
            continue
        print (b,end=';')

    ps: range 顾头不顾尾

    
    
    range在python2与python3中的区别

    python2中
    1.range其实就是一个列表
    2.xrange其实就是你python3中的range

    python3中range是一个老母猪,你需要值的时候我才给你

    #
    生成数字串(range中最后一个数字不会出现,左边那个数字为起始数)# for a in range(20, 30): print(a, end='|') # 也可以生成递增和递减的等差数列# for a in range(20, 31, 2): print(a, end='|') for a in range(60, 49, -2): print(a, end='|') # 也可以等差取出数据里的元素# a = [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, ] for b in range(0, len(a), 2): #range 取的是list的索引 print(a[b], end='|')
  • 相关阅读:
    UI系统的分类
    DSL的概念
    什么是“图灵完备”?
    UI系统的作用
    redis——持久化方式RDB与AOF分析
    Redis能做什么?不能做什么?
    PHP Ajax 跨域问题最佳解决方案
    charles和Fiddler感觉哪个更好用
    Fiddler工具使用介绍一
    Xshell出现要继续使用此程序必须应用到最新的更新或使用新版本
  • 原文地址:https://www.cnblogs.com/waller/p/11121967.html
Copyright © 2011-2022 走看看