大家好,今天是21天python打卡第18天,今天我们继续说说python的经典案例。今天主要说了多条件语句的使用方法,以及举例异常处理的例子,通过bmi例子加深了我们对条件语句的使用技巧。

活动地址:CSDN21天学习挑战赛
学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。
目录
随着科技的发展,我们越来越重视环境污染问题,担心PM2.5的指标。我们就编写一个 PM2.5空气质量提醒的程序。我们应不同的语句来实现它。
这个程序是最简单的,三个if语句,如果PM2.5在[0,35],则输出空气优质,快去户外运动!,如果PM2.5在[35,75],则输出空气良好,适度户外活动!,如果PM2.5大于75,则输出空气污染,请小心。
- PM = eval(input("请输入PM2.5数值: "))
- if 0<= PM < 35:
- print("空气优质,快去户外运动!")
- if 35 <= PM <75:
- print("空气良好,适度户外活动!")
- if 75 <= PM:
- print("空气污染,请小心!")
>>>30
空气优质,快去户外运动!
>>>50
空气良好,适度户外运动!
>>>80
空气污染,请小心
这个使用了if else语句,如果PM2.5大于75,输出空气存在污染,请小心,否则输出空气没有污染,可以开展户外运动!。
- PM = eval(input("请输入PM2.5 数值: "))
- if PM >= 75:
- print("空气存在污染,请小心!")
- else:
- print("空气没有污染,可以开展户外运动!")
>>>80
空气存在污染,请小心!
>>>59
空气没有污染,可以开展户外运动!
这个使用了if elif else语句,本质上是和第一个是一样的,我们只要知道其含义就可以了。
- PM = eval(input("请输入PM2.5数值: "))
- if 0<= PM < 35:
- print("空气优质,快去户外运动!")
- elif 35 <= PM <75:
- print("空气良好,适度户外活动!")
- else:
- print("空气污染,请小心!")
>>>30
空气优质,快去户外运动!
>>>50
空气良好,适度户外运动!
>>>80
空气污染,请小心
身体质量指数,是BMI(Body Mass Index )指数,简称体质指数,是国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。
计算公式为:BMI=体重÷(身高*身高)。(体重单位:千克;身高单位:米。)
我们知道其计算公式后就可以编写程序了。这两种方法都是使用了多个条件语句,实现不同的输出。我就不过多赘述。
- height, weight = eval(input("请输入身高(米)和体重(公斤)[逗号隔开]: "))
- bmi = weight / pow(height, 2)
- print("BMI 数值为:{:.2f}".format(bmi))
- wto, dom = "", ""
- if bmi < 18.5: # WTO 标准
- wto = "偏瘦"
- elif bmi < 25: # 18.5 <= bmi < 25
- wto = "正常"
- elif bmi < 30: # 25 <= bmi < 30
- wto = "偏胖"
- else:
- wto = "肥胖"
- if bmi < 18.5: # 我国卫生部标准
- dom = "偏瘦"
- elif bmi < 24: # 18.5 <= bmi < 24
- dom = "正常"
- elif bmi < 28: # 24 <= bmi < 28
- dom = "偏胖"
- else:
- dom = "肥胖"
- print("BMI 指标为:国际'{0}', 国内'{1}'".format(wto, dom))
>>>15
偏瘦
>>>20
正常
>>>25
偏胖
>>>30
肥胖
- height, weight = eval(input("请输入身高(米)和体重\(公斤)[逗号隔开]: "))
- bmi = weight / pow(height, 2)
- print("BMI 数值为:{:.2f}".format(bmi))
- wto, dom = "", ""
- if bmi < 18.5:
- wto, dom = "偏瘦", "偏瘦"
- elif 18.5 <= bmi < 24:
- wto, dom = "正常", "正常"
- elif 24 <= bmi < 25:
- wto, dom = "正常", "偏胖"
- elif 25 <= bmi < 28:
- wto, dom = "偏胖", "偏胖"
- elif 28 <= bmi < 30:
- wto, dom = "偏胖", "肥胖"
- else:
- wto, dom = "肥胖", "肥胖"
- print("BMI 指标为:国际'{0}', 国内'{1}'".format(wto, dom))
>>>18:
"偏瘦", "偏瘦"
>>>20
"正常", "正常"
>>>24
"正常", "偏胖"
>>>25
"偏胖", "偏胖"
>>>28
"偏胖", "肥胖"
>>>30"肥胖", "肥胖"
我们会经常遇到输出异常,大部分都是我们输入不合法,然后程序就会报错,为了解决这种情况,我们通过会加这样的语句,try 语句。下面我们就通过三个具体的实例来看看是如何处理的。
- try:
- num = eval(input("请输入一个整数: "))
- print(num**2)
- except NameError:
- print("输入错误,请输入一个整数!")

- try:
- alp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- idx = eval(input("请输入一个整数: "))
- print(alp[idx])
- except NameError:
- print("输入错误,请输入一个整数!")
- except:
- print("其他错误")

- try:
- alp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- idx = eval(input("请输入一个整数: "))
- print(alp[idx])
- except NameError:
- print("输入错误,请输入一个整数!")
- else:
- print("没有发生异常")
- finally:
- print("程序执行完毕,不知道是否发生了异常")
《隋书律历志》留下一小段关于圆周率(π)的记载,祖冲之算出π的真值在3.1415926(朒数)和3.1415927(盈数)之间,相当于精确到小数第7位,成为当时世界上最先进的成就。这一纪录直到15世纪才由阿拉伯数学家卡西打破。
今天我们借助计算机来求π的大小。
- from random import random
- from math import sqrt
- from time import clock
- DARTS = 1000
- hits = 0.0
- clock()
- for i in range(1, DARTS+1):
- x, y = random(), random()
- dist = sqrt(x ** 2 + y ** 2)
- if dist <= 1.0:
- hits = hits + 1
- pi = 4 * (hits/DARTS)
- print("Pi值是{}.".format(pi))
- print("运行时间是: {:5.5}s".format(clock()))
Pi值是3.224.
这个误差还是比较大的。
今天就介绍到这里,下一篇我们继续分享python的经典案例。