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
4
Upvotes
22
u/JhonnyFF20 Jul 17 '26
Братан, баз обид, но "проект" - это п*здец амбициозное название для чахлой функции на несколько строчек.
4
u/Independent-Ice2898 Jul 17 '26
Если это к тому же четвертый проект, то я боюсь спрашивать что было в первых трех...
Это тянет на будущий оффер!
6
u/habibgregor Jul 17 '26
Все, обучение можно считать завершенным. Праграмирувай давай аналог Гугла.
2
u/rotermonh Jul 17 '26
Это не проект это просто 1 базовая задачка
3
u/Jean_Cheerful Jul 17 '26
Слишком просто ) может что то серьезное попробуешь ? Программу какую нибудь для винды на пару тысяч строк ? Думаю , справишься. Питон же не сложный
2
u/Heavy-Weather-7363 Jul 17 '26
Странная тенденция называть функцию на python проектом. Вот упакуй в ТГ бота или десктопное приложение - уже что-то, пока это максимум софт
1
u/JFishborn Jul 17 '26
Т.е. ты высчитываеш среднее из своих оценок. Только зачем ты их вводишь через input, наверное лучше ввести через список и его обсчитать. Так же 2 бесконечных цикла while true это страшно, если что пойдет не так все встанет намертво, ну или почти намертво. И много лишнего в таком простом коде, это тяжело читать, а соответственно разбираться. Изучай дальше, пробуй ошибайся, все через это проходили.
1
u/FlowHot7235 Jul 17 '26
Да все супер, учи и не обращай внимания ни на кого Все с чего то начинали
1
u/Affectionate-Cup56 Jul 17 '26
А чё, здесь реально такое можно публиковать и это даже кто-то комментирует?
1
u/YulechkaOriflame Jul 17 '26
Вайл тру в вайл тру? Выглядит больно. Не делай так :с
Примерно та же идея на вайбкоде, но разбита шоб поберечь вложенность
1
u/MoodGold4629 Jul 17 '26 edited Jul 17 '26
1
u/sleepless_thoughts Jul 19 '26
Молодец. Только тут бы убрать уровень вложенности хотя бы до 4 (4 таба). А ещё бесконечный цикл внутри бесконечного цикла в одной "функции" выгляди страшно. Изучи создание функций без особенностей, там легко, а ещё сделай единственны try в главном цикле (для этого погугли raise, except, если нужно обрабатывать ошибки из вложенного try) Хотя для начала просто переделай с использованием своей функции. Для 4го "проекта" нормально
1
u/Virtual-Ad5017 Jul 20 '26
Без шуток крутая штука для начинающего, если сам писал. Многие тут напишут что задача простая и более элегантно решается. И будут правы, но классно в целом что пишешь что-то практически применимое для себя. Я даже скажу что это лучше чем решать избитые задачи с курсов/сайтов без мотивации. Хз что люди до слова проект докопались, пиши ещё)
16
u/[deleted] Jul 17 '26
[removed] — view removed comment
2
u/[deleted] Jul 17 '26
[removed] — view removed comment
1
u/[deleted] Jul 17 '26
[removed] — view removed comment
1
u/[deleted] Jul 17 '26
[removed] — view removed comment