def generate_students(number_of_students=None):
    if number_of_students is None:
        number_of_students = random.randint(1, School.MAX_STUDENTS_NUMBER)

    students = []
    for student_number in range(number_of_students):
        first_name, last_name = generate_random_name()
        student = Student(first_name, last_name)
        students.append(student)
        subjects = ["Matematyka", "Fizyka", "Biologia", "Chemia", "Historia"]
        for subject in subjects:
            final_grade = random.randint(MIN_RANDOM_GRADE, MAX_RANDOM_GRADE)
            student.add_final_grade(final_grade, subject)
    return students
示例#2
0
def generate_students(number_of_students=None):
    if number_of_students is None:
        number_of_students = random.randint(1, School.MAX_STUDENTS_NUMBER)

    students = []
    for student_number in range(number_of_students):
        first_name = f"Student-{student_number +1}"
        last_name = "Smith"
        student = Student(first_name, last_name)
        students.append(student)
        for _ in range(Config.RANDOM_FINAL_GRADES_NUMBER):
            final_grade = random.randint(Config.MIN_RANDOM_GRADE, Config.MAX_RANDOM_GRADE)
            student.add_final_grade(final_grade)
    return students
示例#3
0
    def create_school_with_students(cls, school_name):
        number_of_students = random.randint(1, cls.MAX_STUDENTS_NUMBER)
        school = School(school_name, students=[])

        for student_number in range(number_of_students):
            first_name = f"Student-{student_number}"
            last_name = "Smith"
            student = Student(first_name, last_name)
            school.assign_student(student)
            for _ in range(Config.RANDOM_FINAL_GRADES_NUMBER):
                final_grade = random.randint(Config.MIN_RANDOM_GRADE,
                                             Config.MAX_RANDOM_GRADE)
                student.add_final_grade(final_grade)

        return school
示例#4
0
 def generate_students(self):
     students = []
     for student_number in range(self.number_of_students):
         first_name = f"Student-{student_number}"
         last_name = "Smith"
         student = Student(first_name, last_name)
         students.append(student)
         subjects = [
             "Matematyka", "Fizyka", "Biologia", "Chemia", "Historia"
         ]
         for subject in subjects:
             final_grade = random.randint(Config.MIN_RANDOM_GRADE,
                                          Config.MAX_RANDOM_GRADE)
             student.add_final_grade(final_grade, subject)
     return students
示例#5
0
    def generate_students(self):
        if self.min_grade is None or self.max_grade is None:
            return "ERROR"

        students = []
        for student_number in range(self.number_of_students):
            first_name = f"Student-{student_number}"
            last_name = "Smith"
            student = Student(first_name, last_name)
            students.append(student)
            subjects = [
                "Matematyka", "Fizyka", "Biologia", "Chemia", "Historia"
            ]
            for subject in subjects:
                final_grade = random.randint(self.min_grade, self.max_grade)
                student.add_final_grade(final_grade, subject)
        return students
示例#6
0
def test_add_final_grades():
    parameters = [
        (5, "Matematyka", None, True),
        (5, "Historia", None, True),
        (1, "Matematyka", None, True),
        (5, "Matematyka", GradeCalculator.normal_promotion_policy, True),
        (2, "Matematyka", GradeCalculator.strict_promotion_policy, False),
    ]

    for params in parameters:
        grade, subject, promotion_policy, promoted = params
        student = Student("Bob", "Kowalski")
        student.add_final_grade(grade, subject, promotion_policy)

        if student.promoted == promoted:
            print("OK")
        else:
            print(f"Błąd! Dla parametrów: {params} wynik promocji to {student.promoted} zamiast {promoted}")