?>
После очередного этапа чемпионата мира по кольцевым автогонкам на автомобилях с открытыми колесами Формула-А гонщики собрались вместе в кафе, чтобы обсудить полученные результаты. Они вспомнили, что в молодости соревновались не на больших болидах, а на картах – спортивных автомобилях меньших размеров. Друзья решили выяснить победителя в одной из гонок на картах. Победителем гонки являлся тот гонщик, у которого суммарное время прохождения всех кругов трассы было минимальным. Поскольку окончательные результаты не сохранились, то каждый из 10ти участников той гонки вспомнил и выписал результаты прохождения каждого из M кругов трассы. К сожалению, по этой информации гонщикам было сложно вычислить победителя той гонки. В связи с этим они по сделать это вас. Требуется написать программу, которая вычислит победителя гонки на картах, о которой говорили гонщики. Сделайте для этой задачи блок схему вот само решение: begin var (n, m) := ReadlnInteger2; var (sm, tm):= ('', integer.MaxValue); for var i := 1 to n do begin var s := ReadlnString; var t := ReadSeqInteger(mSum; ReadlnString; if t < tm then (sm, tm) := (s, t) end; Write(sm) end.
Ответы
Вот код:
import random
# Сгенерируем список
lst = [random.randint(-30, 30) for _ in range(30)]
# 1
result = 1
for item in lst:
if item < 0:
result *= item
print(result)
# или
from functools import reduce
print(reduce(lambda x, y: x * y,
filter(lambda item: item < 0, lst)))
# 2
max_count = 0
count = 0
for item in lst:
if item < 0:
count += 1
if count > max_count:
max_count = count
print(max_count)
# 3
result = 0
for item in lst:
if item < 0:
result += item
print(result)
# или
negative_nums = list(filter(lambda item: item < 0, lst))
print(sum(negative_nums) if negative_nums else "NO")