Python学习笔记(四)

Python学习笔记(四)—— 程序的控制结构

一、程序的控制结构分类

二、程序的分支结构

  1、分类

    1.1 单分支结构

      

 

      单分支示例:

      

 

     1.2 二分支结构

      

 

      二分支示例:

      

 

      二分支的紧凑形式:

     

 

    1.3 多分支结构

      

 

      多分支举例:

      

 

  2、条件判断及组合

    2.1 条件判断

      

 

    2.2 条件组合

      

 

      条件判断及组合示例:

      

 

  3、程序的异常处理

    

 

    3.1 异常处理的基本使用

      

 

      示例1:

      

 

      示例2:

        

 

      3.2 异常处理的高级使用

        

 

  4、程序分支结构应用

      4.1 计算“身体质量指数BMI”

    4.1.1 定义:

      

 

    4.1.2 身体质量指数BMI标准

      

 

    4.1.3 问题需求

      

 

    4.1.4 思路方法

      

 

    4.1.5 输出国际的代码 

复制代码
  1. #CalBMIv1.py
  2. height, weight eval(input("请输入身高(米)和体重(公斤)[逗号隔开]: "))
  3. bmi weight pow(height, 2)
  4. print("BMI 数值为:{:.2f}".format(bmi))
  5. who ""
  6. if bmi < 18.5:
  7.     who "偏瘦"
  8. elif 18.5 <bmi < 25:
  9.     who "正常"
  10. elif 25 <bmi < 30:
  11.     who "偏胖"
  12. else:
  13.     who "肥胖"
  14. print("BMI 指标为:国际'{0}'".format(who))
复制代码

    4.1.6 输出国内的代码 

复制代码
  1. #CalBMIv2.py
  2. height, weight eval(input("请输入身高(米)和体重\(公斤)[逗号隔开]: "))
  3. bmi weight pow(height, 2)
  4. print("BMI 数值为:{:.2f}".format(bmi))
  5. nat ""
  6. if bmi < 18.5:
  7.     nat "偏瘦"
  8. elif 18.5 <bmi < 24:
  9.     nat "正常"
  10. elif 24 <bmi < 28:
  11.     nat "偏胖"
  12. else:
  13.     nat "肥胖"
  14. print("BMI 指标为:国内'{0}'".format(nat))
复制代码

    4.1.7 同时输出国际和国内代码

复制代码
  1. #CalBMIv3.py
  2. height, weight eval(input("请输入身高(米)和体重(公斤)[逗号隔开]: "))
  3. bmi weight pow(height, 2)
  4. print("BMI 数值为:{:.2f}".format(bmi))
  5. who, nat "", ""
  6. if bmi < 18.5:
  7.     who, nat "偏瘦""偏瘦"
  8. elif 18.5 <bmi < 24:
  9.     who, nat "正常""正常"
  10. elif 24 <bmi < 25:
  11.     who, nat "正常""偏胖"
  12. elif 25 <bmi < 28:
  13.     who, nat "偏胖""偏胖"
  14. elif 28 <bmi < 30:
  15.     who, nat "偏胖""肥胖"
  16. else:
  17.     who, nat "肥胖""肥胖"
  18. print("BMI 指标为:国际'{0}', 国内'{1}'".format(who, nat))
复制代码

    

三、程序的循环结构

  1、遍历循环

    

 

    1.1 遍历循环的应用

       1.1.1 计数循环(N次)

      

 

        1.1.2 计数循环(特定次)

        

        

      1.1.3 字符串遍历循环

       

       

 

      1.1.4 列表遍历循环

        

 

        

 

      1.1.5 文件遍历循环

        

 

        

 

   2、无限循环

      

 

       2.1 无限循环应用

        

 

   3、循环控制保留字:break 和 continue

      

 

     举例:

      

      

 四、random 库的使用

  1、random 库概述:是使用随机数的Python标准库

    

 

  2、random 库包括两类函数,常用共8个

    

 

    2.1 基本随机数函数

      

 

      例子:

      

 

    2.2 扩展随机数函数

      

 

    

    

    

 

五、程序控制结构应用场景

  1、“圆周率的计算” 

    1.1 问题分析

      方法一:公式法

      

 

      方法二:蒙特卡罗方法

      

    1.2 公式法 代码: 

复制代码
  1. #CalPiV1.py
  2. pi 0
  3. 100
  4. for in range(N):
  5.     pi +1/pow(16,k)*( \
  6.               4/(8*k+12/(8*k+4\
  7.               1/(8*k+51/(8*k+6) ) 
  8. print("圆周率值是: {}".format(pi))
复制代码

      运行结果

      

 

     1.3  蒙特卡罗方法代码 

复制代码
  1. #CalPiV2.py
  2. from random import random
  3. from time import perf_counter
  4. DARTS 1000*1000
  5. hits 0.0
  6. start perf_counter()
  7. for in range(1, DARTS+1):
  8.     x, y random(), random()
  9.     dist pow(x **20.5)
  10.     if dist <1.0:
  11.         hits hits 1
  12. pi (hits/DARTS)
  13. print("圆周率值是: {}".format(pi))
  14. print("运行时间是: {:.5f}s".format(perf_counter() start))
复制代码

     运行结果

      

 

      

 

 

 

 

 

 

 

 

 

 

 

     

 

 

 

     

 

 

 

 

 

 

        

 

 

 

 

 

 

      

 

 

 

 

 

       

 

 

 

      

 

 

 

 

      

 

 

    

 

  

 

    

posted @ 2019-10-15 22:46  蓝子娃娃  阅读(621)  评论(0)    收藏  举报
编辑推荐:
· 聊一聊 Linux 上对函数进行 hook 的两种方式
· C# 锁机制全景与高效实践:从 Monitor 到 .NET 9 全新 Lock
· 一则复杂 SQL 改写后有感
· golang中写个字符串遍历谁不会?且看我如何提升 50 倍
· C# 代码如何影响 CPU 缓存速度?
阅读排行:
· 提升Avalonia UI质感,跨平台图标库选型实践
· 突发,CSDN 崩了!程序员们开始慌了?
· C# 中委托和事件的深度剖析与应用场景
· 一个基于 .NET 8 + Ant Design Blazor 开发的简洁现代后台管理框架
· AppBox拖拽设计增删改查用户界面
点击右上角即可分享
微信分享提示