делаю программу которая подсчитывает средний балл и считает нужное кол-во пятёрок до нужного балла. у меня проблема с посчётом нужного кол-ва пятёрок. кому не трудно, помогите пожалуйста..)))
count=0
def rrr():
global count
l3=sum(map(int, entr1.get())) / len(entr1.get())
for i in range(len(entr1.get())):
if l3<2.50:
f=int(entr1.get())+5
while count<2.50:
count+=1
print(count)
l11.config(text=f'до 3 не хватает {count} пятёрок')
не работает наверно именно подсчет сколько нужно пятёрок (цикл while)
заранее огромное спасибо
Python
Помогите пожалуйста правильно организовать алгоритм цикла
Пусть s - сумма оценок, k - количество оценок, n - необходимое кол-во пятёрок.
Получаем простейшее уравнение:
Получаем простейшее уравнение:
2.5 = (s + 5 * n) / (k + n)
5 * k + 5 * n = 2 * s + 10 * n
5 * n = 5 * k - 2 * s
n = k - 2 * s / 5
И весь твой код превращается в: def rrr():
t = list(map(int, entr1.get()))
return max(0, len(t) - 2 * sum(t) // 5)
print(rrr())
Но если очень хочется говнокодить циклом, то: def rrr():
t, count = list(map(int, entr1.get())), 0
while (sum(t) + 5 * count) / (len(t) + count) < 2.5: count += 1
return count
print(rrr())
Михаил Мск
а как сделать чтобы вместо 5 было 3 и 4?
Прежде всего, нужно убедиться, что вы используете отступы для вашего кода, чтобы ясно определить блоки кода. Ваше описание похоже на то, что вы хотите достичь среднего балла 2.50, добавляя пятерки к оценкам. Чтобы сделать это, я предлагаю следующий алгоритм:
def calculate_fives_needed(grades, target_average):
total = sum(grades)
count = 0
current_average = total / len(grades)
while current_average < target_average:
total += 5
count += 1
current_average = total / (len(grades) + count)
return count
# Пример использования функции
grades = [int(x) for x in entr1.get()]
target_average = 2.50
fives_needed = calculate_fives_needed(grades, target_average)
l11.config(text=f'до {target_average} не хватает {fives_needed} пятёрок')
Эта функция calculate_fives_needed принимает список оценок и целевой средний балл. Она вычисляет текущий средний балл, а затем в цикле while увеличивает сумму оценок на 5 и считает количество добавленных пятерок, пока средний балл не достигнет или не превысит целевого значения.Похожие вопросы
- Помогите пожалуйста соединить два кода в один,очень долго пытался,но всё равно не совсем правильно получается
- Помогите, пожалуйста, решить задачу Python
- Решить две задачи на питоне. Помогите пожалуйста
- Задача по программированию. Помогите пожалуйста)) Скидывайте, пожалуйста, на любых языках, я все пойму!
- Товарищи. помогите пожалуйста с задачей по информатике
- Помогите пожалуйста с питоном(arcade)
- Написать функцию. Помогите пожалуйста!
- Помогите пожалуйста с задачей по python!
- Помогите, пожалуйста, с задачей на питоне!
- Помогите пожалуйста решить задачи на питоне: