人生苦短,我学Python-004:程序的控制结构



版本1

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


版本2

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

版本3

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


公式法

    #CalPiV1.py
    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))

蒙特卡罗方法

    #CalPiV2.py
    from random import random
    from time import perf_counter
    DARTS = 1000*1000
    hits = 0.0
    start = perf_counter()
    for i in range(1, DARTS+1):
        x, y = random(), random()
        dist = pow(x ** 2 + y ** 2, 0.5)
        if dist <= 1.0:
            hits = hits + 1
    pi = 4 * (hits/DARTS)
    print("圆周率值是: {}".format(pi))
    print("运行时间是: {:.5f}s".format(perf_counter() - start))





猜你喜欢

转载自blog.csdn.net/f2157120/article/details/80686913
今日推荐