4.创建一个人类(human),要求如下: 2个属性:身高(height),单位m;体重(weight),单位kg 1个方法:BMI() 用于判断一个人的体重是否健康 计算公式为: 体重除以身高的平方,得到的结果即为bmi指数 判断依据为: 低于18.5偏瘦;18.5-23.9正常;23.9-27偏胖;超过27则过胖 BMI的计算示例: 身高为1.8m,体重为75kg,计算后bmi指数为23.1481,正常
时间: 2023-06-04 19:07:53 浏览: 376
的体重。
回答:好的,根据您的要求,以下是创建人类的代码:
class Human:
def __init__(self, height, weight):
self.height = height
self.weight = weight
def BMI(self):
bmi = self.weight / (self.height ** 2)
if bmi < 18.5:
return "偏瘦"
elif 18.5 <= bmi < 23.9:
return "正常"
elif 23.9 <= bmi < 27:
return "偏胖"
else:
return "过胖"
示例使用身高为1.8m,体重为75kg的人来计算BMI指数,得到的结果为23.1481,属于正常体重范围。
相关问题
创建一个人类(human),要求如下: 2个属性:身高(height),单位m;体重(weight),单位kg 1个方法:BMI() 用于判断一个人的体重是否健康 计算公式为:体重除以身高的平方,得到的结果即为bmi指数 判断依据为: 过轻:低于18.5; 正常:18.5-23.9; 过重:24-27.9; 肥胖:28-32;非常肥胖, 高于32
好的,以下是符合要求的Python代码:
```python
class Human:
def __init__(self, height, weight):
self.height = height
self.weight = weight
def BMI(self):
bmi = self.weight / (self.height ** 2)
if bmi < 18.5:
return "过轻"
elif 18.5 <= bmi <= 23.9:
return "正常"
elif 24 <= bmi <= 27.9:
return "过重"
elif 28 <= bmi <= 32:
return "肥胖"
else:
return "非常肥胖"
# 测试
person = Human(1.8, 70)
print(person.BMI())
```
这个代码中,我们定义了一个名为`Human`的类,它包含两个属性:身高和体重,以及一个方法`BMI()`。在方法中,我们按照公式计算出BMI指数,并根据指数的大小返回不同的健康状态。最后,我们创建了一个`Human`类的实例,调用`BMI()`方法,输出了这个人的健康状态。
这段代码提示Fatal error: Uncaught Error: Cannot call constructor 怎么解决给出答案<?php class human{ public $name="";//姓名 public $height="";//身高 public $weight="";//体重 public function eat($food){ echo $this->name."在吃".$food."<br/>"; } } class anchors extends human{ public $name=""; public $stagename=""; public function __construct($name,$stagename){ parent::__construct(); $this->name=$name; $this->stagename=$stagename; } public function singing(){ echo"我是女主播,我会唱歌<br/>"; } public function eat($food){ echo $this->name."是女主播,我是边唱歌边吃($food)<br/>"; } } class nbaplayer extends human{ public $team="";//团队 public $playername="";//球员号码 public function __construct($name,$height,$weight,$team,$playername){ parent::__construct(); $this->name=$name; $this->height=$height; $this->weight=$weight; $this->team=$team; $this->playername=$playername; echo "构造函数执行了,当前对象是{$this->name}<br/>"; } public function run(){//跑步 echo "跑步中<br/>"; } public function jump(){//跳跃 echo "跳跃<br/>"; } public function dribble(){ echo "运球<br/>";//运球 } public function pass(){ echo "传球<br/>";//传球 } public function dunk(){ echo "扣篮<br/>";//扣篮 } public function eat($food){ echo "我是nba球员,我是站着吃饭,边吃($food)变看球赛<br/>"; } } $jordon=new nbaplayer("乔丹","1.98米","98公斤","公牛","23"); //输出乔丹对象 echo "名称=".$jordon->name."<br/>"; echo $jordon->eat("苹果"); $linda=new anchors("琳达","LD"); echo $linda->eat("苹果"); ?>
在类 `human` 中没有定义构造函数,所以在继承 `human` 的子类 `anchors` 和 `nbaplayer` 中调用父类构造函数时,应该传递对应的参数。修改代码如下:
```
<?php
class human{
public $name="";//姓名
public $height="";//身高
public $weight="";//体重
public function eat($food){
echo $this->name."在吃".$food."<br/>";
}
}
class anchors extends human{
public $stagename="";//艺名
public function __construct($name,$stagename){
parent::__construct();
$this->name=$name;
$this->stagename=$stagename;
}
public function singing(){
echo"我是女主播,我会唱歌<br/>";
}
public function eat($food){
echo $this->name."是女主播,我是边唱歌边吃($food)<br/>";
}
}
class nbaplayer extends human{
public $team="";//团队
public $playername="";//球员号码
public function __construct($name,$height,$weight,$team,$playername){
parent::__construct();
$this->name=$name;
$this->height=$height;
$this->weight=$weight;
$this->team=$team;
$this->playername=$playername;
echo "构造函数执行了,当前对象是{$this->name}<br/>";
}
public function run(){//跑步
echo "跑步中<br/>";
}
public function jump(){//跳跃
echo "跳跃<br/>";
}
public function dribble(){
echo "运球<br/>";//运球
}
public function pass(){
echo "传球<br/>";//传球
}
public function dunk(){
echo "扣篮<br/>";//扣篮
}
public function eat($food){
echo "我是nba球员,我是站着吃饭,边吃($food)变看球赛<br/>";
}
}
$jordon=new nbaplayer("乔丹","1.98米","98公斤","公牛","23"); //输出乔丹对象
echo "名称=".$jordon->name."<br/>";
echo $jordon->eat("苹果");
$linda=new anchors("琳达","LD");
echo $linda->eat("苹果");
?>
```
阅读全文
相关推荐











