当前位置: 首页>>代码示例>>Python>>正文


Python Question.add_alternative方法代码示例

本文整理汇总了Python中question.Question.add_alternative方法的典型用法代码示例。如果您正苦于以下问题:Python Question.add_alternative方法的具体用法?Python Question.add_alternative怎么用?Python Question.add_alternative使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在question.Question的用法示例。


在下文中一共展示了Question.add_alternative方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: get_default_questions_json

# 需要导入模块: from question import Question [as 别名]
# 或者: from question.Question import add_alternative [as 别名]
 def get_default_questions_json():
     question_list = list()
     question1 = Question(0, 'Choose A, B or C', True)
     question1.add_alternative(0, 'A', False)
     question1.add_alternative(1, 'B', True)
     question1.add_alternative(2, 'C', False)
     question_list.append(question1.to_json())
     question2 = Question(1, 'Choose D, E or F', False)
     question2.add_alternative(0, 'D', False)
     question2.add_alternative(1, 'E', False)
     question2.add_alternative(2, 'F', True)
     question_list.append(question2.to_json())
     return question_list
开发者ID:Semi-global,项目名称:multichoice,代码行数:15,代码来源:multichoice.py

示例2: save_question

# 需要导入模块: from question import Question [as 别名]
# 或者: from question.Question import add_alternative [as 别名]
    def save_question(self, data, suffix=''):
        """
        Adds question to question collection stored in ``QuestionController`` class.
        :param data: JSON object that contains question in a format:
                data = {
                        'id': 1,
                        'text': 'Text',
                        'alternatives': [
                            {
                                'id': '1',
                                'text': 'Text',
                                'isCorrect': 'false'
                            },
                            {
                                'id': '2',
                                'text': 'Text2',
                                'isCorrect': 'false'
                            },
                            ...
                        ],
                        'hasDifficultyLevel': 'false'
                }
        :param suffix:
        :return: JSON object with the size of questions collection and last added question
        """
        try:
            q_id = int(data['id'])
            q_text = data['text']
            if data['hasDifficultyLevel']:
                q_has_diff_lvl = True
            else:
                q_has_diff_lvl = False

            new_question = Question(q_id, q_text, q_has_diff_lvl)

            for i in range(0, len(data['alternatives'])):
                # TODO: Note that the called function in CreatedAnswers throws error
                # TODO: See comment in Question::add_alternative
                if not new_question.add_alternative(i, data['alternatives'][i]['text'], data['alternatives'][i]['isCorrect']):
                    return {'status': 'Not saved', 'message': 'Alternative is not valid'}

            if new_question.is_valid:
                if q_id < 0:
                    new_question.set_question_id(len(self.questions_json_list))
                    self.questions_json_list.append(new_question.to_json())
                else:
                    for i in range(0, len(self.questions_json_list)):
                        if self.questions_json_list[i]['id'] == q_id:
                            del self.questions_json_list[i]
                            self.questions_json_list.insert(i, new_question.to_json())

                num_questions = len(self.questions_json_list)
                question = self.questions_json_list[num_questions - 1]
                return {'status': 'successful', 'numQuestions': num_questions, 'question': question}
            else:
                return{'status': 'unsuccessful', 'message': 'Question data is not valid'}
        except Exception as ex:
            return {'status': 'unsuccessful', 'message': str(ex)}
开发者ID:Semi-global,项目名称:multichoice,代码行数:60,代码来源:multichoice.py

示例3: create_object_from_json

# 需要导入模块: from question import Question [as 别名]
# 或者: from question.Question import add_alternative [as 别名]
    def create_object_from_json(self):
        """
        Creates a list of Question objects from the JSON dictionary questions_json_list

        Returns:
            list: List containing objects of the class Questions

        """
        question_list = list()
        # loop through all the json questions and add them to the list
        for json_question in self.questions_json_list:
            q_id = json_question['id']
            q_text = json_question['question']
            q_diff_lvl = json_question['has_difficulty_level']
            question = Question(q_id, q_text, q_diff_lvl)
            # loop through all the alternatives for this question and add them
            for alt in json_question['alternatives']:
                a_id = alt['id']
                a_text = alt['text']
                a_is_correct = alt['isCorrect']
                question.add_alternative(a_id, a_text, a_is_correct)
            # add the question object to the list
            question_list.append(question)
        return question_list
开发者ID:Semi-global,项目名称:multichoice,代码行数:26,代码来源:multichoice.py

示例4: get_default_question_objects

# 需要导入模块: from question import Question [as 别名]
# 或者: from question.Question import add_alternative [as 别名]
    def get_default_question_objects():
        """
        Creates a list which is returned, this is to be used as default option in
        the list ```question_objects_list```

        Returns:
            list: A list with default question objects
        """
        question_list = list()
        question1 = Question(0, 'Choose A, B or C', False)
        question1.add_alternative(0, 'A', True)
        question1.add_alternative(1, 'B', False)
        question1.add_alternative(2, 'C', False)
        question_list.append(question1)
        question2 = Question(1, 'Choose D, E or F', False)
        question2.add_alternative(0, 'D', False)
        question2.add_alternative(1, 'E', False)
        question2.add_alternative(2, 'F', True)
        question_list.append(question2)
        return question_list
开发者ID:Semi-global,项目名称:multichoice,代码行数:22,代码来源:multichoice.py

示例5: test_question

# 需要导入模块: from question import Question [as 别名]
# 或者: from question.Question import add_alternative [as 别名]
class test_question(unittest.TestCase):

    def setUp(self):
        self.q = Question(1, "some text", True)


    def test_get_question_id(self):
        id = self.q.get_question_id()
        assert id == 1

    def test_set_question_text(self):
        self.q.set_question_text("test is best")
        assert self.q.get_question_text() == "test is best"

    def test_set_has_difficulty_level(self):
        self.q.set_has_difficulty_level(True)
        assert self.q.get_has_difficulty_level() == True

    def test_add_alternative(self):
        self.q.add_alternative(0, "An alternative", True)
        self.q.add_alternative(1, "An alternative 2", False)
        alternatives = self.q.get_alternatives();
        assert len(alternatives) == 2

    def test_add_alternative_negative(self):
        self.q.add_alternative("A", "An alternative", True)
        alternatives = self.q.get_alternatives()
        assert len(alternatives) == 0

    def test_is_valid(self):
        self.q.set_question_text("test is best")
        self.q.add_alternative(0, "An alternative", True)
        self.q.add_alternative(1, "An alternative 2", False)
        valid = self.q.is_valid()
        assert valid == True

    def test_is_valid_id_negative(self):
        self.q.set_question_id(0)
        valid = self.q.is_valid()
        assert valid == False

    def test_is_valid_text_negative(self):
        self.q.set_question_id(1)
        self.q.set_question_text("")
        valid = self.q.is_valid()
        assert valid == False

    def test_is_valid_difficulty_level_negative(self):
        self.q.set_question_id(1)
        self.q.set_question_text("Test question")
        self.q.set_has_difficulty_level(None)
        valid = self.q.is_valid()
        assert valid == False

    def test_is_valid_alternatives_negative(self):
        self.q.set_question_id(1)
        self.q.set_question_text("Test question")
        self.q.set_has_difficulty_level(True)
        valid = self.q.is_valid()
        assert valid == False

    def test_to_json(self):
        self.q.set_question_text("test is best")
        self.q.add_alternative(0, "An alternative", True)
        json = self.q.to_json()
        assert "id" in json
        assert "question" in json
        assert "alternatives" in json
        assert "has_difficulty_level" in json
        assert "id" in json["alternatives"][0]
        assert "text" in json["alternatives"][0]
        assert "isCorrect" in json["alternatives"][0]

        assert json["id"] == 1
        assert json["question"] == "test is best"
        assert json["has_difficulty_level"] == True
        assert json["alternatives"][0]["id"] == 0
        assert json["alternatives"][0]["text"] == "An alternative"
        assert json["alternatives"][0]["isCorrect"] == True
开发者ID:Semi-global,项目名称:multichoice,代码行数:81,代码来源:test_question.py


注:本文中的question.Question.add_alternative方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。