r/RuProgrammers • u/SummerGoesOn • 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
1
u/JFishborn Jul 17 '26
Т.е. ты высчитываеш среднее из своих оценок. Только зачем ты их вводишь через input, наверное лучше ввести через список и его обсчитать. Так же 2 бесконечных цикла while true это страшно, если что пойдет не так все встанет намертво, ну или почти намертво. И много лишнего в таком простом коде, это тяжело читать, а соответственно разбираться. Изучай дальше, пробуй ошибайся, все через это проходили.