def get_assessment_score(assessment): loop = True while loop: score = input("Enter student score for " + assessment['name'] + ":") if not Helper.is_int(score): print("\nScrole should be integer") if score and Helper.is_int(score): if int(score) > 100: print("\nScore can't be greater than 100") else: loop = False return score
def read_assessments(assessments_number): total_weight = 0 assessments_number = int(assessments_number) assessments = [] for x in range(0, assessments_number): print("\nData For assessment number:", x + 1) valid_assessment = False assessments_name_check = True assessments_weight_check = True while not valid_assessment: if assessments_name_check: assessments_name = input("Assessment name: ") if assessments_name: assessments_name_check = False if not assessments_name_check and assessments_weight_check: if x == (assessments_number - 1): valid_int_weight = True assessments_weight = 100 - total_weight valid_assessment = True assessments.append({ 'name': assessments_name, 'weight': assessments_weight }) else: assessments_weight = input("Assessment weight: ") valid_int_weight = Helper.is_int(assessments_weight) if not valid_int_weight: print( '\nInvalid, Please enter number greated than 0 and less than 100' ) else: assessments_weight = int(assessments_weight) if total_weight + assessments_weight > 100: print( '\nInvalid, total assessments weight can pass 100, weight available is', 100 - total_weight) else: assessments_weight = assessments_weight total_weight += assessments_weight valid_assessment = True assessments.append({ 'name': assessments_name, 'weight': assessments_weight }) return assessments
def new_module(): module_name_check = True module_code_check = True should_ask_for_assessment = False have_valid_assessment = False valid_assessments_number = 0 while module_name_check or module_code_check or should_ask_for_assessment: if module_name_check: module_name = input("Module name: ") if module_name: module_name_check = False if not module_name_check and module_code_check: module_code = input("Module Code: ") if module_code: module_code_check = False should_ask_for_assessment = True if should_ask_for_assessment: assessments_number = input("Number of Assessments: ") if assessments_number: valid_assessments_number = Helper.is_int( assessments_number) if not valid_assessments_number: print( '\nInvalid, Only integer number allowed, Please enter number greater than 1' ) else: should_ask_for_assessment = False have_valid_assessment = True module_assessments = Reader.read_assessments( assessments_number) module = { 'name': module_name, 'code': module_code, 'assessments': module_assessments } module = Module(module) Reader.save_module(module)