Помогите с кодом в python пожалуйста!
Задача: От вампиров умозрительных мысли Уолтера переметнулись к вампирам вполне конкретным, то бишь к Гизеле фон Лютценземмерн. Как блестели чёрные локоны, в которых запутались лунные лучи, как горели её глаза! Настоящая принцесса из сказки, не чета его блеклым соотечественницам. Он представил, как Гизела машет ему из высокой башни и сбрасывает вниз длинные чёрные волосы. Правда, вскарабкайся Уолтер по ним и тут же будет укушен. А может быть и нет?
Напишите программу, собирающую статистику подобных случаев. Может же быть, что нет?
Формат ввода
Вводятся строки чисел через дефис, окружённый пробелами, пока не будет введена строка из более, чем 10 чисел – она служит признаком окончания ввода, в рассмотрении не участвует.
Формат вывода
Статистика представляет собой словарь с ключами:
last – номер строки, в которой на последнем месте стоит самое большое число из всех последних чисел всех строк; если таких несколько, то номер первой встреченной строки (с меньшим номером);
largest – наибольшая сумма чисел в одной строке;
triple – сумма остатков от деления на 3 всех положительных чисел;
average – целая часть от среднего арифметического всех чисел.
Выведите полученный словарь без форматирования.
МОЙ КОД:
line_number = 0
last_max = float('-inf')
last_line = 0
largest_sum = float('-inf')
triple_sum = 0
total_sum = 0
total_count = 0
while True:
line = input()
numbers_str = line.split(" - ")
if len(numbers_str) > 10:
break
line_sum = 0
for num_str in numbers_str:
num = int(num_str)
if num > 0:
triple_sum += num % 3
line_sum += num
total_sum += num
total_count += 1
if line_sum > largest_sum:
largest_sum = line_sum
last_num = int(numbers_str[-1])
if last_num >= last_max:
last_max = last_num
last_line = line_number + 1
line_number += 1
average = int(total_sum / total_count) if total_count > 0 else 0
result_dict = {
"last": last_line,
"largest": largest_sum,
"triple": triple_sum,
"average": average
}
print(result_dict)
Вывод(например):
{'last': 4, 'largest': 296, 'triple': 27, 'average': 28}
Ожидаемый вывод:
{
"last": 2,
"largest": 296,
"triple": 27,
"average": 28
}
Замени if last_num >= last_max: на if last_num > last_max:.
тебе где эту задачу дали?
line_number+=1 попробуй в самое начало цикла переставить