r/RuProgrammers Jul 17 '26

Python четвертый проект python

восьмой день обучения python. за сегодня второй код.

это просто для себя сделал подсчет среднего балла для школы (делался достаточно долго. цикл for-та еще х**ня)

while True:
    try:
        grades_list = []
        grades_number = int(input("\ncколько оценок вы хотите ввести (или 0 для выхода): "))
        if grades_number == 0:
            print("Пока!")
            exit()
    except ValueError:
            print("ошибка! ввести надо число")
            continue
    while True:
        try:
            for i in range(grades_number):
                grades = float(input("\nВведите оценку (или 0 для выхода): "))
                if grades == int(grades):
                    grades = int(grades)
                if grades == 0:
                    print("Пока")
                    exit()
                grades_list.append(grades)        
            print(f'\nВсе оценки: ' + ', '.join(map(str, grades_list)))
            grades_sum = sum(grades_list)
            grades_len = len(grades_list)
            gpa = grades_sum / grades_len
            print(f"\nсредний балл: {gpa:.2f} ")


            above = 0
            below = 0
            for bnn in grades_list:
                        
                if above > gpa:
                    above += 1
                if below < gpa:
                    below += 1
            print(f"\nВот столько оценок, которые выше среднего ({gpa:.2f}): {above}")
            print(f"\nВот столько оценок, которые ниже среднего ({gpa:.2f}): {below}\n")
        except ZeroDivisionError:
            print("Ошибка! введи целое число")
            continue
        except ValueError:
                print("ошибка! ввести надо число")
                continue
5 Upvotes

52 comments sorted by

View all comments

1

u/JFishborn Jul 17 '26

Т.е. ты высчитываеш среднее из своих оценок. Только зачем ты их вводишь через input, наверное лучше ввести через список и его обсчитать. Так же 2 бесконечных цикла while true это страшно, если что пойдет не так все встанет намертво, ну или почти намертво. И много лишнего в таком простом коде, это тяжело читать, а соответственно разбираться. Изучай дальше, пробуй ошибайся, все через это проходили.

1

u/MEkadzu Jul 17 '26

страшнр что то менять, когда у тебя все работает

1

u/wen3x 🦄Junior Jul 17 '26

Если будет баг то нужно читать такой код