Условия задачи:

 

Средний балл и его уровень. Напишите программу, которая просит пользователя вве­сти пять экзаменационных оценок (баллов). Программа должна показать буквенный уровень для каждой оценки и средний балл. Предусмотрите в программе функции:
• calc average - функция должна принимать в качестве аргументов пять балльных оценок и возвращать средний балл;
• determine_grade - функция должна принимать в качестве аргумента балльную оценку и возвращать буквенный уровень оценки, опираясь на приведенную в таблице.

БаллыУровень
90 и вышеA
80-89B
70-79C
60-69D
Ниже 60F

 

Решение задачи:

def main():
    def calc_average(value_1, value_2, value_3, value_4, value_5):
        SCORES = 5
        return (value_1 + value_2 + value_3 + value_4 + value_5)/SCORES
    def determine_grade(value):
        if value >= 90:
            return 'A'
        elif value >= 80:
            return 'B'
        elif value >= 70:
            return 'C'
        elif value >= 60:
            return 'D'
        else:
            return 'F'
    score_1 = int(input('Введите первую оценку в баллах: '))
    score_2 = int(input('Введите вторую оценку в баллах: '))
    score_3 = int(input('Введите третью оценку в баллах: '))
    score_4 = int(input('Введите четвертую оценку в баллах: '))
    score_5 = int(input('Введите пятую оценку в баллах: '))
    average = calc_average(score_1, score_2, score_3, score_4, score_5)
    print(f'{score_1} баллов соответствуют оценке {determine_grade(score_1)}')
    print(f'{score_2} баллов соответствуют оценке {determine_grade(score_2)}')
    print(f'{score_3} баллов соответствуют оценке {determine_grade(score_3)}')
    print(f'{score_4} баллов соответствуют оценке {determine_grade(score_4)}')
    print(f'{score_5} баллов соответствуют оценке {determine_grade(score_5)}')
    print(f'Средний бал - {average}')
main()

#Задача решается намного меньшим объемом кода если бы не нужно было вводить в функцию все 5 оценок

def main():
    SCORES = 5
    totall = 0
    def calc_average(value):
        SCORES = 5
        return value/SCORES
    def determine_grade(value):
        if value >= 90:
            return 'A'
        elif value >= 80:
            return 'B'
        elif value >= 70:
            return 'C'
        elif value >= 60:
            return 'D'
        else:
            return 'F'
    for i in range(1, SCORES+1):
        score = int(input(f'Введите {i} оценку в баллах: '))
        print(f'{score} баллов соответствуют оценке {determine_grade(score)}')
        totall +=score
    print(f'Средний бал - {calc_average(totall)}')
main()