Задача 3. Случайные соревнования

Мы хотим протестировать работу электронной таблицы для участников некоторых соревнований. Есть два списка (то есть две команды), по 20 участников в каждом. В этих списках хранятся очки каждого участника (это вещественные числа с двумя знаками после точки, например 4.03). Участник одной команды соревнуется с участником другой команды под таким же номером. То есть первый соревнуется с первым, второй- со вторым, и так далее.

Напишите программу, которая генерирует два списка участников (по 20 элементов) из случайных вещественных чисел (от 5 до 10). Для этого найдите подходящую функцию из модуля random. Затем сгенерируйте третий список, в котором окажутся только победители из каждой пары.

Пример:

Первая команда: [7.86, 6.76, 9.97, 9.08, 5.45, 6.9, 8.65, 5.17, 8.17, 5.06, 7.56, 7.1, 7.18, 8.25, 5.53, 7.95, 8.91, 7.11, 8.29, 9.52]
Вторая команда: [7.13, 5.7, 8.89, 5.36, 5.62, 9.46, 5.82, 8.67, 8.41, 7.0, 5.31, 7.8, 9.93, 7.76, 7.4, 8.26, 7.94, 5.71, 7.89, 7.77]
Победители тура:  [7.86, 6.76, 9.97, 9.08, 5.62, 9.46, 8.65, 8.67, 8.41, 7.0, 7.56, 7.8, 9.93, 8.25, 7.4, 8.26, 8.91, 7.11, 8.29, 9.52]

Решение:

import random

def gen_list(size, start, end):
    lst = [round(random.uniform(start, end), 2) for x in range(size)]
    return lst

dimension = 20
fst_team = gen_list(dimension, 5, 10)
sec_team = gen_list(dimension, 5, 10)

# battle = []
# for i in range(dimension):
#     if fst_team[i] > sec_team[i]:
#         battle.append(fst_team[i])
#     else:
#         battle.append(sec_team[i])

battle = [(fst_team[i] if fst_team[i] > sec_team[i] else sec_team[i]) for i in range(dimension)]

print('Первая команда:', fst_team)
print('Вторая команда:', sec_team)

print('Победители тура:', battle)

3990login-checkЗадача 3. Случайные соревнования

Добавить комментарий