LunarMind/TestEditor/BaseQuestion.cs
(开头部分) 12KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LunarSF.SHomeWorkshop.LunarMind
{
/**
* 此类用于表示某道试题。
*
* @author YangZhenyv
*/
public class BaseQuestion
{
/**
* 这是一道选择题的文本,也是最初的原型:
* <p/>
* 试题>>【意大利】【资本主义萌芽】产生于【14、15】世纪。
* <p/>
* 答案>>意大利 解析>>也可说“西欧”。
* <p/>
* 错项>>中国 解析>>中国资本主义萌芽产生于明朝中后期。明朝14世纪才建立。
* <p/>
* 答案>>资本主义萌芽 解析>>
* <p/>
* 错项>>文艺复兴 解析>>文艺复兴的时间是14~17世纪。从语义上来说应是“开始于”而不是“产生于”。
* <p/>
* 答案>>14、15 解析>>
* <p/>
* 错项>>14~17 解析>>这是文艺复兴的时间
* <p/>
* 错项>>16~18 解析>>这是工场手工业时期。
* <p/>
* 错项>>1500年前后 解析>>这是新航路开辟的时间段。
* <p/>
* 〓〓〓〓〓〓
*
* @param baseQuestionText ,表示一个包含一对或多对括弧的题干,一组或多组答案。
*/
public static List<Question> BuildQuestionList(string baseQuestionText, bool multiFillBlankQuestions = true)
{
List<Question> questions = new List<Question>();
//处理主观题
if (baseQuestionText.Contains("<<材料>>"))
{
int indexOfQuestion = baseQuestionText.IndexOf("<<问题>>");
if (indexOfQuestion < 0) return questions;//光材料,没有问题。以后可以考虑做成提纲。现在直接跳过。
List<string> questionPieces = new List<string>();
string[] textPieces = baseQuestionText.Split(new string[1] { "\r\n<<材料" }, StringSplitOptions.RemoveEmptyEntries);
StringBuilder sb = null;
foreach (var s in textPieces)
{
if (sb == null) sb = new StringBuilder();
if (s.StartsWith(">>"))
后面还有 239 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。