【Python】第四章

 1.实例5.1 计算BMI的值

height, weight = eval(input("请输入身高(米)和体重值(公斤)并用逗号隔开:"))
bmi = weight / pow(height, 2)
print("BMI数值为: {:.2f}".format(bmi))
who, dom = " ", " "
if bmi < 18.5:
    who = "偏瘦"
elif bmi < 25:
    who = "正常"
elif bmi < 30:
    who = "偏胖"
else:
    who = "肥胖"
if bmi < 18.5:
    dom = "偏瘦"
elif bmi < 24:
    dom = "正常"
elif bmi < 28:
    dom = "偏胖"
else:
    dom = "肥胖"
print("BMI国际指标为:'{0}',国内指标为'{1}'".format(who, dom))

 2.实例5.2 将两套BMI指数融合

height, weight = eval(input("请输入身高(米)和体重\(公斤)[逗号隔开]: "))
bmi = weight / pow(height, 2)
print("BMI 数值为:{:.2f}".format(bmi))
who, dom = " " , " "
if bmi < 18.5:
    who, dom = "偏瘦", "偏瘦"
elif 18.5 <= bmi < 24:
    who, dom = "正常", "正常"
elif 24 <= bmi < 25:
    who, dom = "正常", "偏胖"
elif 25 <= bmi < 28:
    who, dom = "偏胖", "偏胖"
elif 28 <= bmi < 30:
    who, dom = "偏胖", "肥胖"
else:
    who, dom = "肥胖", "肥胖"
print("BMI 指标为:国际'{0}', 国内'{1}'".format(who, dom))

 3.实例3.1 计算圆周率

'''
1、近似公式法
pi = 0
N = 100
for k in range(N) :
    pi += 1/pow(16,k)*( \
    4/(8*k+1) – 2/(8*k+4) - \
    1/(8*k+5) – 1/(8*k+6))
print("圆周率值是: {}".format(pi))
    '''
#2、蒙特卡罗方法
from random import random
from math import sqrt
from time import process_time
DARTS = 1000
hits = 0.0
process_time()
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("圆周率值是: {}".format(pi))
print("运行时间是: {:.5f}s".format(process_time()))

猜你喜欢

转载自blog.csdn.net/m0_65198365/article/details/123804184