zoukankan      html  css  js  c++  java
  • 程序的控制结构

     

    目录

    一、分支结构

    1、单分支

    # if一般用于判断/选择的场景
    90以上优秀
    score = 95
    if score > 90:
       print('优秀')

     

     

     

    2、双分支

    # if...else

    # 90以上优秀,90一下良好
    #例1
    score = 95
    if score > 90:
       print('优秀')
    else:
       print('良好')
    #例2
    score = 75
    print('优秀') if score > 90 else print('良好')
    # 单分支没有,多分支也没有,这是双分支独有的一种模式;输入在两边,然后if......else的判断语句和判断条件在中间
    # 结果一 条件 结果二

     

    3、多分支

    ## if...elif...elif...else  它的关系是层层递进的先执行if语句,符合if语句的才能执行下面的elif语句,以此类推;

    ## if...if...if...if   它的的几个判断语句是互不相关的,每个判断语句都得执行,互不干扰;

    ## 90以上优秀,90-70良好,70以下不及格
    #例1
    score = 95
    if score > 90:
       print('优秀')
    elif score > 70:
       print('良好')
    else:
       print('及格')
    #例2
    score = 95
    if score > 90:
       print('优秀')
    if score > 70 and score < 90:
       print('良好')
    if score < 60:
       print('及格')

    4、逻辑运算符

    ## >大于 >=大于等于 <小于 <=小于等于 ==等于 !=不等于

    ## and 两者都必须成立
    ## or 其中一个成立即可
    ## not 非

    二、异常处理

    #例1
    try:
       y = input('数字:') # 10
       y += 10 # y = y + 10
    except Exception as e:#将错误的语句的错误信息当做e
       print(f'error: 33[1;35m {e} 33[0m!')#将e用字体改变颜色输出
    finally:  # 无论包不报错,都会执行finally下面的代码
       print(1)
    #例2
    raise  # 自定义报错

    s = input('请输入数字:')

    if s.isalpha(): # isalpha,如果s为纯字符,则为True,否则为False
       raise TypeError('你个傻逼,请输入数字')

    # assert 断言()

    assert 1==2

    三、程序的循环结构

    循环用来干什么:干重复的事

    1、for循环

     # 打印数字0~99
      for i in range(100):
      print(i)
    #将0~4的数字输出,
    range(5) # [0,1,2,3,4]

    range(1,3)  # [1,2]#顾头不顾尾
    #输出1,3,5,7,9
    range(1,10,2) # [1,3,5,7,9]#(1,10)表示数字1~10,2表示输出的间隔长度
    #打印nick
    for i in 'nick':
        print(i)

    2、while循环

    #例题案例 
    # # 周一到周五进步0.01,然后双休日退步0.01,这个怎么计算
    # # 5 2 5 2 5 2
    # # 7 7 7 7
    # # 1 8 15 22 周一 # 除7余1
    # # 2 9 16 23 …… 周二 # 除7余2
    # # 3 10 17 24 …… 周三
    # # 周六 # 除7余6
    # # 周日 # 除7余0
       factory = 0.01
    # base = 1 # 37.78343433288728
    # for i in range(365):
    #     if i % 7 == 0:
    #         base *= (1-0.01)
    #     elif i % 7 == 6:
    #         base *= (1 - 0.01)
    #     else:
    #         base *= (1+factory)
    #
    # # 每天进步0.01得到相同的base
    # res = pow(1.01,365)
    # print(res)
    #例1 (用while语句进行编写)
    factory = 0.01
    base =0
    while base < pow(1.01,365):#判断条件,当符合判断语句条件时,执行下面的语句
        factory += 0.001 #这个语句就是factory=factory+0.001
        base = 1  # 37.78343433288728
       for i in range(365):
          if i % 7 == 0:
               base *= (1 - 0.01)
          elif i % 7 == 6:          
               base *= (1 - 0.01)
          else:
               base *= (1 + factory)
    print(factory)


    # continue + break
    #continue的含义
    表示继续进行循环运算,但不执行后面的代码
    #break的含义
    表示终止循环
    #例2
    count = 0
    # while count < 100: # 49
    #
    #     if count == 49:
    #         count += 1
    #         continue # 不执行下面代码,继续运行循环
    #
    #     count += 1 # 50
    #     print(count) # 50
    #例3
    count = 0
    # while count < 100: # 49
    #
    #     if count == 49:
    #         count += 1
    #         break # 终止循环
    #
    #     count += 1 # 50
    #     print(count) # 50

     

    3、if ......else

    count = 101

    while count < 100: # 49

       if count == 49:
           count += 1
           break  # 终止循环

       count += 1 # 50
       print(count) # 50
    else:  #正常跳出循环的时候会执行,异常中断不执行
       print('打我')

    四、random模块

    import random
    print(random.randint(1,10))# random产生随机数
    import time
    time_ = time.time()#将time.time赋值给time_
    print(str(time_).split('.')[-1][-1])#将time_中的字符串以"."分割开,取最后一个子字符串的最后一个字符。

    random.seed(10)#定义随机运算的种子
    print(random.random())  # 取(0,1)之间的小数

    random.seed(10)
    print(random.random())  # 取(0,1)之间的小数

    #如果不自定义种子,则种子按照当前的时间来
    print(random.random())  # 取(0,1)之间的小数


    # print(random.choice([1,1,2,3,4]))

    lt = [1,2,3,4]
    random.shuffle(lt)
    print(lt)

    五、圆周率的计算

    圆周率的近似计算公式:

     
    #根据圆周率的近似计算公式将其设计成python程序进行计算;
    # Π
    # pi = 0
    # k = 0
    # while True:
    #
    #     pi += (1/(16**k))*
    #           (4/(8*k+1) - 2/(8*k+4) - 1/(8*k+5) - 1/(8*k+6))
    #
    #     print(pi)
    #     k += 1


    # 蒙特卡洛方法求Π
    import random

    count = 0
    for i in range(100000):
       x, y = random.random(), random.random()
       dist = pow(x ** 2 + y ** 2, 0.5)
       if dist < 1:
           count += 1
    print(count / 100000 * 4)

     

  • 相关阅读:
    使用Eolinker拓展API设计
    如何记录API
    API设计
    【翻译】通过API主导的集成来证明您的业务未来
    从状态库迁移分布系统建设方式
    PostgreSql 查询某个模式下面的所有表
    迁移状态库的地市区县信息
    测开和开发的难度对比
    yum源的三种搭建方式
    Harbor实现容器镜像仓库的管理和运维
  • 原文地址:https://www.cnblogs.com/hanyi12/p/11203020.html
Copyright © 2011-2022 走看看