算数の問題を自動的に解決します - 息子に簡単な計算の練習として与えてください o(∩_∩)o
リリース: 2016-07-25 08:49:51
カスタム範囲、カスタム演算子、カスタム操作数。とてもクール
- /**
- * QuestionEngine の説明
- * 質問エンジン
- *
- * @author lyc
- * @copyright (c) 2013, Unary Inc.
- */
- class QuestionEngine {
-
- /**
- * 質問スコープ
- * @var string $scope
- */
- public $scope = array(1, 100);
-
- /**
- * 演算子が含まれます。複数の演算子がある場合、質問は混合されます
- * @var string $operators
- */
- public $operators = '+-';
-
- /**
- * 操作数
- * @var int
- */
- public $optTimes = 1;
-
- public functiongenerate() {
- //ベースの値のセットを生成操作の数について
- start:
- for ($index = 0; $index < $this->optTimes + 1; $index++) {
- $elements[] = $this->randomValue();
- }
- $operatorType = strlen( $this->operators); // いくつかの演算子から選択できます
- // 計算の組み立てを開始します
- $question = '';
- for ($index = 0; $index < count) ($elements); $index++ ) {
- $question.=' . $elements[$index] . ' ' // if ($index < count($elements) - 1)//最後の数字でない場合は、末尾に演算子を追加します
- $question.=substr($this->operators, mt_rand(0, $operatorType - 1), 1);
- }
-
- eval('$anwser = ' . $question . '; ');
- if ($anwser < 0) { //結果が負の数である場合を除外します
- $elements = array();
- goto start; 3 support
- }
- echo "$question= " . $anwser;
- }
- /**
- * 範囲内のランダムな値を生成します
- *
- * @return int
- */
- protected function randomValue() {
- return mt_rand($this->scope[0], $ this->scope[1]);
- }
- }
コードをコピー
- include 'QuestionEngine.class.php';
- $hello = new QuestionEngine();
- $hello->generate();
- ?>
-
- 結果: 26 + 85 = 111
-
コードをコピー
|
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31