PHPの多肢選択問題の採点アルゴリズムについてアドバイスをお願いします。
PHP の多肢選択問題のスコアリング アルゴリズム、ガイドしてください
各多肢選択問題に 3 点
原則は、選択肢が少ない場合は 2 ポイント、選択肢が多い場合はポイントなし、間違った選択はポイントなしです
If: 正解 123
回答 123 を送信すると 3 ポイントを獲得できます
回答 12、13、23 を送信すると、それぞれ 2 ポイントを獲得します
回答を送信 1234,234,134,124 ポイントなし
それを達成する方法はありますか? それとももっと良い方法がありますか?
------解決策----------------------
説明によると、多肢選択式の質問は使用していませんチェックボックスですがテキストを使用しています
また、選択肢は 9 つまでです
したがって、スコアは
と書くことができます。 count(array_intersect(str_split($正解), str_split($提出回答));
つまり、それぞれを配列に切り分けて、交差
------解法-----
チェックボックスを使用している場合
送信後に得られるのは配列であり、それを正解の配列
と交差させるだけです------解決策------ --
$正解 = array(1, 2, 3);
$回答を送信 = array(1, 2);
$score = count(array_intersect($正解, $提出回答));
echo $score; //2
-----解決策---------
交差を見つけることは、投稿者の質問の要件を満たしていません。たとえば、送信された回答が配列 (1, 2, 4) である場合、交差も (1, 2) となり、実際には 0 ポイントを取得する必要があります。
------解決策----------------------
はい、完全に一貫性はありません。
しかし、1、2、4を選択した場合にポイントが得られないのは理不尽です。 4 が対抗オプションでない限り、たとえば: なし
もしそうなら、質問者は回答者を意図的に誤解させていることになります
質問をこのように書かなければならない場合は、次のように書くことができます
$正确答案 = array(1, 2, 3);<br /> $错误答案 = array(4);<br /> $提交答案 = array(1, 2, 4);<br /> $得分 = array_intersect($错误答案, $提交答案) ? 0 : count(array_intersect($正确答案, $提交答案));<br /> echo $得分; //0
-----解決策---------------------------- ---
マージ 違いだけで十分です
解答用紙は表、答えは裏にあります
相違がある場合、ポイントは付与されません
交点なし、配点なし(前文を除いた上で白紙解答用紙の状況を考慮しています。白解答用紙がないことが確認できればこの文は省略可能です)
差分設定なし、交点あり、交点の数=解答用紙、ハーフ点
差分セットはなく、交差があり、交差の数 = 解答用紙、満点 (これについてロジックを記述する必要はありません。else を使用するだけで済みます。なぜなら、上記の状況を除外した後、残りの交差は等しいからです) )
注意
1. 上記は一部の判定条件が省略されているため、スイッチ許容ロジックではなくelse if非互換ロジックを順次判定する必要があります
2. 解答用紙と解答には重複した値がないことを確認する必要があります。そうしないと、交差の数を判断する際に問題が発生します
-----解決策---------- ------- ---
はビット演算を使用して計算できます
A:1 B:2 C:4 D:8
ABの選び方は3つ
ABCDの選び方は15
たとえば、正解が 4 の場合、選択の結果を見てください: N 対 4
if(N==4) 3 ポイント
4&N==N の場合 2 ポイント
その他○点
-----解決策---------
ビット演算は、32 未満のリムを選択するのが良い選択です (システムと PHP のバージョンにより最大 63 になる可能性があります)。これは非常に便利です
でも大きいと不便です
-----解決策---------------------------- --
ボスに従う アイデアは次のとおりです
<br> $correct = array(1, 2, 3);<br> $submit = array(1, 2);<br> $score = count(array_intersect($correct, $submit));<br> if($score < count($submit)){//複数回選択した場合は 0 ポイントを与えます<br> $スコア = 0;<br> }<br> エコー $スコア; //2 <div class="clear"></div>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











ログイン画面に「組織から PIN の変更を求められています」というメッセージが表示されます。これは、個人のデバイスを制御できる組織ベースのアカウント設定を使用しているコンピューターで PIN の有効期限の制限に達した場合に発生します。ただし、個人アカウントを使用して Windows をセットアップした場合、エラー メッセージは表示されないのが理想的です。常にそうとは限りませんが。エラーが発生したほとんどのユーザーは、個人アカウントを使用して報告します。私の組織が Windows 11 で PIN を変更するように要求するのはなぜですか?アカウントが組織に関連付けられている可能性があるため、主なアプローチはこれを確認することです。ドメイン管理者に問い合わせると解決できます。さらに、ローカル ポリシー設定が間違っていたり、レジストリ キーが間違っていたりすると、エラーが発生する可能性があります。今すぐ

Windows 11 では、新鮮でエレガントなデザインが前面に押し出されており、最新のインターフェイスにより、ウィンドウの境界線などの細部をカスタマイズして変更することができます。このガイドでは、Windows オペレーティング システムで自分のスタイルを反映した環境を作成するのに役立つ手順について説明します。ウィンドウの境界線の設定を変更するにはどうすればよいですか? + を押して設定アプリを開きます。 Windows [個人用設定] に移動し、[色の設定] をクリックします。ウィンドウの境界線の色の変更設定ウィンドウ 11" width="643" height="500" > [タイトル バーとウィンドウの境界線にアクセント カラーを表示する] オプションを見つけて、その横にあるスイッチを切り替えます。 [スタート] メニューとタスク バーにアクセント カラーを表示するにはスタート メニューとタスク バーにテーマの色を表示するには、[スタート メニューとタスク バーにテーマを表示] をオンにします。

デフォルトでは、Windows 11 のタイトル バーの色は、選択したダーク/ライト テーマによって異なります。ただし、任意の色に変更できます。このガイドでは、デスクトップ エクスペリエンスを変更し、視覚的に魅力的なものにするためにカスタマイズする 3 つの方法について、段階的な手順を説明します。アクティブなウィンドウと非アクティブなウィンドウのタイトル バーの色を変更することはできますか?はい、設定アプリを使用してアクティブなウィンドウのタイトル バーの色を変更したり、レジストリ エディターを使用して非アクティブなウィンドウのタイトル バーの色を変更したりできます。これらの手順を学習するには、次のセクションに進んでください。 Windows 11でタイトルバーの色を変更するにはどうすればよいですか? 1. 設定アプリを使用して + を押して設定ウィンドウを開きます。 Windows「個人用設定」に進み、

Windows インストーラー ページに「問題が発生しました」というメッセージとともに「OOBELANGUAGE」というメッセージが表示されますか?このようなエラーが原因で Windows のインストールが停止することがあります。 OOBE とは、すぐに使えるエクスペリエンスを意味します。エラー メッセージが示すように、これは OOBE 言語の選択に関連する問題です。心配する必要はありません。OOBE 画面自体から気の利いたレジストリ編集を行うことで、この問題を解決できます。クイックフィックス – 1. OOBE アプリの下部にある [再試行] ボタンをクリックします。これにより、問題が発生することなくプロセスが続行されます。 2. 電源ボタンを使用してシステムを強制的にシャットダウンします。システムの再起動後、OOBE が続行されます。 3. システムをインターネットから切断します。 OOBE のすべての側面をオフライン モードで完了する

タスクバーのサムネイルは楽しい場合もありますが、気が散ったり煩わしい場合もあります。この領域にマウスを移動する頻度を考えると、重要なウィンドウを誤って閉じてしまったことが何度かある可能性があります。もう 1 つの欠点は、より多くのシステム リソースを使用することです。そのため、リソース効率を高める方法を探している場合は、それを無効にする方法を説明します。ただし、ハードウェアの仕様が対応可能で、プレビューが気に入った場合は、有効にすることができます。 Windows 11でタスクバーのサムネイルプレビューを有効にする方法は? 1. 設定アプリを使用してキーをタップし、[設定] をクリックします。 Windows では、「システム」をクリックし、「バージョン情報」を選択します。 「システムの詳細設定」をクリックします。 [詳細設定] タブに移動し、[パフォーマンス] の下の [設定] を選択します。 「視覚効果」を選択します

Windows 11 のディスプレイ スケーリングに関しては、好みが人それぞれ異なります。大きなアイコンを好む人もいれば、小さなアイコンを好む人もいます。ただし、適切なスケーリングが重要であることには誰もが同意します。フォントのスケーリングが不十分であったり、画像が過度にスケーリングされたりすると、作業中の生産性が大幅に低下する可能性があるため、システムの機能を最大限に活用するためにカスタマイズする方法を知る必要があります。カスタム ズームの利点: これは、画面上のテキストを読むのが難しい人にとって便利な機能です。一度に画面上でより多くの情報を確認できるようになります。特定のモニターおよびアプリケーションにのみ適用するカスタム拡張プロファイルを作成できます。ローエンド ハードウェアのパフォーマンスの向上に役立ちます。画面上の内容をより詳細に制御できるようになります。 Windows 11の使用方法

画面の明るさは、最新のコンピューティング デバイスを使用する上で不可欠な部分であり、特に長時間画面を見る場合には重要です。目の疲れを軽減し、可読性を向上させ、コンテンツを簡単かつ効率的に表示するのに役立ちます。ただし、設定によっては、特に新しい UI が変更された Windows 11 では、明るさの管理が難しい場合があります。明るさの調整に問題がある場合は、Windows 11 で明るさを管理するすべての方法を次に示します。 Windows 11で明るさを変更する方法【10の方法を解説】 シングルモニターユーザーは、次の方法でWindows 11の明るさを調整できます。これには、ラップトップだけでなく、単一のモニターを使用するデスクトップ システムも含まれます。はじめましょう。方法 1: アクション センターを使用する アクション センターにアクセスできる

iOS 17 では、Apple はモバイル オペレーティング システムにいくつかの新しいプライバシーおよびセキュリティ機能を導入しました。その 1 つは、Safari のプライベート ブラウジング タブに対して 2 段階認証を要求する機能です。その仕組みとオフにする方法は次のとおりです。 iOS 17 または iPadOS 17 を実行している iPhone または iPad では、Safari でプライベート ブラウズ タブを開いていて、再度アクセスするためにセッションまたはアプリを終了する場合、Apple のブラウザでは Face ID/Touch ID 認証またはパスコードが必要になります。言い換えれば、ロックが解除されている iPhone または iPad を誰かが手に入れても、パスコードを知らなければプライバシーを閲覧することはできません。
