我的这个代码a=input('<性别>') b=input('<身高>') c=input('<体重>') BMI=float(c)/(float(b))**2 if a=='男': if BMI<20: print('偏瘦') if BMI>25: print('超重') else: print('正常') if a=='女': if BMI<18: print('偏瘦') if BMI>23: print('超重') else: print('正常')为什么会出现这样的结果:<性别>男 <身高>1.87 <体重>69 偏瘦 正常我只想要偏瘦或者正常一个结果
时间: 2023-12-26 17:04:53 浏览: 139
你的代码中存在逻辑错误,导致了错误的输出结果。当输入 a=='男' 且 BMI>25 时,先输出了 '超重',然后又输出了 '正常'。因此,你需要将两个 if 语句合并为一个 if-elif-else 语句,并且在每个条件语句中使用 elif,避免多个条件同时满足的情况。下面是改进后的代码:
```
a = input('<性别>')
b = input('<身高>')
c = input('<体重>')
BMI = float(c) / (float(b)) ** 2
if a == '男':
if BMI < 20:
print('偏瘦')
elif BMI > 25:
print('超重')
else:
print('正常')
elif a == '女':
if BMI < 18:
print('偏瘦')
elif BMI > 23:
print('超重')
else:
print('正常')
```
这样,当 BMI>25 时,只会输出 '超重',而不会再输出 '正常'。
相关问题
请问一下这段代码a=input("<性别>") b=input("<身高>") c=input("<体重>") d=int(c)/float(b)**2 if a in ["男"]: if d<20: print("偏瘦") elif 20<=d<=25: print("正常") else: print("超重") else: if d<18: print("偏瘦") elif 18<=d<=23: print("正常") else: print("超重")的结果和这段代码a=input('<性别>') b=input('<身高>') c=input('<体重>') BMI=float(c)/(float(b))**2 if a=='男': if BMI<20: print('偏瘦') elif BMI>25: print('超重') else: print('正常') if a=='女': if BMI<18: print('偏瘦') elif BMI>23: print('超重') else: print('正常')的结果是一样的吗?
这两段代码的结果是一样的,都是根据输入的性别、身高、体重计算 BMI,并输出对应的体重状况。
不同之处在于,第一段代码使用了 in 关键字来判断性别,可以判断多个值,而不仅仅是一个值。第二段代码则使用了两个 if 语句来分别判断男女性别。
另外,第一段代码在条件判断时使用了连续的 if-elif-else 语句,而第二段代码则使用了两个独立的 if 语句。这样,第一段代码可以避免出现多个条件同时满足的情况,而第二段代码需要使用 elif 来避免这种情况。
解释每条代码<style> fieldset{ width: 350px ; margin: 100px auto ; } p{ font-size: 0.8em; color: #999; text-indent: 2em; } li{ line-height: 40px; } label{ display:inline-block ; width: 200px; text-align: right; margin-right: 10px; } #height{ width: 60px; } #weight{ width: 60px; } </style> </head> <body> <fieldset> <legend><h2>标准体测测试</h2></legend> <p> 身体质量指数,是BMI(Body Mass Index )指数,简称体质指数,是国际上常用的衡量人 体胖瘦程度以及是否健康的一个标准。计算公式为:BMI=体重÷身高²。(体重单位:千克; 身高单位:米。)BMI由19世纪中期的比利时通才凯特勒最先提出。 </p> <ol> <li> <label for="height">请输入你的身高(cm):</label> <input type="number" id="height" min="40"> </li> <li> <label for="weight">请输入你的体重(kg):</label> <input type="number" id="weight" min="20"> </li> </ol> <input type="button" name="" id="myBtn" value="开始测试"> </fieldset> <script> var oBtn = document.getElementById("myBtn") var BMI oBtn.onclick=function(){ let result let oHeight = document.getElementById("height").value/100 let oweight = document.getElementById("weight").value BMI = oweight/(oHeight*oHeight) if(isNaN(BMI)) { alert("请输入合法数字") } else { if(BMI<18.5) result = "体重过轻" if(BMI>18.5 && BMI<=23.9) result = "体重正常" if(BMI>=24) result="体重超重" if(BMI>24 && BMI<=26.9) result = "肥胖前期" if(BMI>27 && BMI<=29.9) result = "I度肥胖" if(BMI>=30) result = "II度肥胖" if(BMI>=40) result = "III度肥胖" } alert(result) } </script>
这段代码是一个计算身体质量指数(BMI)的网页,包括了HTML和JavaScript代码。
- `<style>`标签定义了网页的样式,包括fieldset、p、li、label和input等元素的样式,例如宽度、颜色、字体大小等等。
- `<fieldset>`标签定义了一个表单域,包含了检测BMI所需的输入框和按钮等元素。
- `<p>`标签定义了一段关于BMI的说明文字。
- `<ol>`标签定义了一个有序列表,其中包含了两个列表项。
- `<li>`标签定义了列表项,其中包含了一个标签和一个输入框。
- `<label>`标签定义了一个标签,用于描述输入框的用途。
- `<input>`标签定义了输入框和按钮,其中type属性指定了输入框或按钮的种类,id属性指定了输入框或按钮的标识符,min属性指定了输入框的最小值。
- `<script>`标签定义了JavaScript代码,用于计算BMI和显示结果。其中变量oBtn、BMI、oHeight、oWeight、result分别表示按钮、BMI值、身高、体重、结果,onclick事件指定了点击按钮时的处理函数,该函数首先获取输入框的值,计算BMI值,再根据BMI值的大小显示不同的结果。
总的来说,这段代码是一个比较简单的网页,用于帮助用户计算BMI值,并显示BMI值的大小。
阅读全文