Мы хотим протестировать работу электронной таблицы для участников некоторых соревнований. Есть два списка (то есть две команды), по 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)
39900login-checkЗадача 3. Случайные соревнования
