打卡
Topic source# 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
木手刹
又是自学的一天