|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- height = input('输入您的身高(厘米CM):')
- weight = input('输入您的体重(公斤KG):')
- if (type(float(height))==float) and (type(float(weight))==float):
- heights = float(height)
- weights = float(weight)
- bmi = weights/((heights/100)**2)
- if bmi<18.4:
- print('太轻了')
- elif bmi >=18.4 and bmi < 23.9:
- print('正常')
- elif bmi >=24 and bmi <27.9:
- print('过重')
- else:
- print('肥胖')
- else:
- print('不可以输入数字以外的内容。')
复制代码
第三行代码,本来是用了isdigit来判断是输入的是否为数字,但是好像不能判断浮点数的类型,所以就折中处理为是否可以为float ,但是在第三行就出错了,无法进行下一步
- ((float(height) == False) and (float(weight) == True)) and ((float(height) == False ) or (float(weight) == True)
复制代码
然后用这个判断,发现还是有问题。。。。。如果再加一个都是True,如果输入的两个内容都是非数字呢?
还是采用异常处理方便些。
- height = input('输入您的身高(厘米CM):')
- weight = input('输入您的体重(公斤KG):')
- try:
- heights = float(height)
- weights = float(weight)
- except ValueError:
- print('不可以输入数字以外的内容。')
- else:
- bmi = weights/((heights/100)**2)
- if bmi<18.4:
- print('太轻了')
- elif bmi >=18.4 and bmi < 23.9:
- print('正常')
- elif bmi >=24 and bmi <27.9:
- print('过重')
- else:
- print('肥胖')
复制代码
|
|