博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php计算多选题的分数,多选题评分算法 求指导
阅读量:7029 次
发布时间:2019-06-28

本文共 1764 字,大约阅读时间需要 5 分钟。

9c02dc82f15cec5b18c9d94f81b20b89.png

斯蒂芬大帝

PHP面向对象版

/**

* Created by: Singee77

*/

class Standard

{

//答对全部题所得总分

private $totalScore = 0;

//标准答案

private $standard = [];

//提交答案

private $answer = [];

//所得总分

private $getScore = 0;

public function __construct($totalScore)

{

$this->setTotalScore($totalScore);

}

/**

* @return int

*/

public function getTotalScore()

{

return $this->totalScore;

}

/**

* @param int $totalScore

*/

public function setTotalScore($totalScore)

{

$this->totalScore = $totalScore;

}

/**

* @param array $standard

*/

public function setStandard($standard)

{

$this->standard = $standard;

}

/**

* @return array

*/

public function getStandard()

{

return $this->standard;

}

/**

* @param $answer

*/

public function checkStandard()

{

foreach ($this->answer as $each) {

if (!$weight = $this->checkAnswer($each)) {

//选错一个总分为0

$this->setGetScore(0);

break;

}

//答对一个就追加分数

$this->appendGetScore($this->getTotalScore() * $weight);

}

}

/**

* @param array $answer

*/

public function setAnswer($answer)

{

$this->answer = $answer;

}

/**

* @return array

*/

public function getAnswer()

{

return $this->answer;

}

/**

* @param $each

* return $weight

*/

private function checkAnswer($each)

{

return array_key_exists($each, $this->standard) ? $this->standard[$each] : 0;

}

/**

* @param int $getScore

*/

public function setGetScore($score)

{

$this->getScore = $score;

}

/**

* @return int

*/

public function getGetScore()

{

return $this->getScore;

}

/**

* @param int $totalScore

*/

public function appendGetScore($appendScore)

{

$this->getScore += $appendScore;

}

}

//实例一个CHECK对象并设置总分

$std = new Standard(10);

//设置标准答案以及占比

$std->setStandard(['A' => 0.2, 'B' => 0.4, 'C' => 0.4]);

//设置答案

$std->setAnswer(['A', 'B']);

//计算分数

$std->checkStandard();

//获取所得总分

$totalScore = $std->getTotalScore();

echo $totalScore;

转载地址:http://weexl.baihongyu.com/

你可能感兴趣的文章
Mybatis知识(1)
查看>>
php处理网站url编码及乱码问题
查看>>
快速入门:selenium自动化测试+ubuntu系统+php语言+firefox/chrome浏览器
查看>>
docx 转 doc
查看>>
DD DT DL标签
查看>>
用window.open函数页面传值
查看>>
SPOJ 10707 COT2 - Count on a tree II
查看>>
数据绑定——Vue.js
查看>>
Max Mex
查看>>
[CentOS] 7 不执行文件 /etc/rc.d/rc.local
查看>>
模态窗口的各个属性
查看>>
10.28 (上午) 开课一个月零二十四天 (数据访问)
查看>>
为什么你应该(从现在开始就)写博客
查看>>
小技巧积累
查看>>
Java JDBC链接Oracle数据库
查看>>
Moss2010 部署命令
查看>>
Git 操作分支
查看>>
Grid search in the tidyverse
查看>>
hdu 三部曲 Contestants Division
查看>>
day22——创建表、增加数据、查询数据
查看>>