Discuss / Python / 打卡

打卡

Topic source

木手刹

#1 Created at ... [Delete] [Delete and Lock User]

又是自学的一天

# if <条件判断1>:

#     <执行1>

# elif <条件判断2>:

#     <执行2>

# elif <条件判断3>:

#     <执行3>

# else:

#     <执行4>

# if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,

# 把该判断对应的语句执行后,就忽略掉剩下的elif和else。

from loguru import logger

from time import time

import time

import readchar

start_time = time.perf_counter()

def get_birth_year():

    while True:

        try:

            years = input("请输入你的出生年份:")

            birth = int(years)

            return birth

        except ValueError:

            print("输入错误!请确保您输入的是一个整数年份。")

def get_BMIS():

    while True:

        try:

            shengao = input("请输入你的身高(cm):")

            tizhong = input("请输入你的体重(kg):")

            x = float(shengao)

            y = float(tizhong)

            return x, y

        except ValueError:

            print("输入错误!请确保您输入的身高或体重准确。")

birth = get_birth_year()

if birth >= 2000 and birth < 2010:

    generation = "你属于00后。"

elif birth >= 1950 and birth < 1960:

    generation = "你属于50后。"

elif birth >= 1960 and birth < 1970:

    generation = "你属于60后。"

elif birth >= 1970 and birth < 1980:

    generation = "你属于70后。"

elif birth >= 1980 and birth < 1990:

    generation = "你属于80后。"

elif birth >= 1990 and birth < 2000:

    generation = "你属于90后。"

elif birth >= 2010 and birth < 2020:

    generation = "你属于10后。"

elif birth >= 2020:

    generation = "你属于新手代。"

elif birth >=1900 and birth < 1950:

    generation = "你属于老龄后。"

elif birth <=0:

    generation = "你的年龄会是这个数吗?"

else:

    generation = "你又开始调皮了。"

print(generation)

height, weight =  get_BMIS()

bmi = float(weight / (height/100)**2)

print(f"你的BMI值为:{bmi:.2f}")

if bmi < 18.5:

    print ("你的BMI值为:"+str(bmi)+',过轻')

elif bmi >= 18.5 and bmi < 25:

    print("你的BMI值为:"+str(bmi) +',正常')

    print("你的BMI值为:" + "{:.2f}".format(bmi))

elif bmi >= 25 and bmi < 28:

    print("你的BMI值为:"+str(bmi) +',过重')

elif bmi >= 28 and bmi < 32:

    print("你的BMI值为:"+str(bmi) +',肥胖')

elif bmi >= 32:

    print("你的BMI值为:"+str(bmi) +',严重肥胖')

    print("你的BMI值为:" + "{:.2f}".format(bmi))

logger.debug(f"{birth}")

logger.debug(f"{generation}")

logger.debug(f"{bmi}")

logger.debug(f"用户输入的身高为:{height}厘米")

logger.debug(f"用户输入的体重为:{weight}千克")

end_time = time.perf_counter()

execution_time = end_time - start_time

print(f"程序执行耗时: {execution_time:.6f}秒")

if __name__ == "__main__":

    print("\n按 'q' 键退出...")

    while True:

        key = readchar.readkey()

        if key.lower() == 'q':

            break


  • 1

Reply