今天学完第一章,进行小练习,
第一章学了简单的输入输出,input,print,
还有比较符,类似== >=,is为唯一标识符比对,
还学习了简单的格式化输出%[(name)][width][flag][.precision]type,
还有数据类型,比如整数i/d,浮点float,科学计数法e/E,
第一章练习为根据身高,体重,年龄,性别,判定体脂率是否合格
男性标准体脂率为15%-18%,女性标准体脂率25%-28%
体脂率=1.2*BMI - 0.23*年龄-5.4-18.8*(男1,女0)
目前的难度是犹豫没有学习if语句,无法先判定,再输出,甚至无法用bool值为真,则输出“合格”
目前使用的解决方案是使用1/0代表男/女
在计算体脂率时使用最大最小值,以及男女最大最小值的差值为0.1计算
即minNum=0.15+0.10*(1-sex) maxNum=0.18+0.10*(1-sex)
最后输出结果亦为false,ture
等学习if语句后,重写
附完整代码15Jul
weight =input("体重(kg):")
height =input("身高(m):")
age =input("年龄:")
sex =input("性别(m/f(男/女:1/0):")
TZL =1.2 *float(weight) /float(height) **2 -0.23 *float(age) -5.4 -10.8 *float(sex)
print(weight, height, sex)
minNum =0.15 +0.10 * (1 -int(sex))
maxNum =0.18 +0.10 * (1 -int(sex))
result= minNum <= TZL <= maxNum
print("计算中")
print("您的体脂率为%f%%" % TZL)
print("您的体脂率合格状况为:", result)
视频中计算BMI时,使用身高*身高,我用的身高**2
所有数据(除性别外)定义为float类型,性别使用整型1/0定义
暂留疑问:
不确定int与float计算后数据类型,应该根据计算后变量的定义而确定。
本来打算装个b,倒数个54321的,结果发现sleep(1)不是说用就用的。