Задача 4
Учитель физкультуры решил не отставать от коллег и тоже разбирает результаты, но уже забега на 60 метров.
Дано число N и N строк с именем ученика и временем в секундах, записанных через пробел. Время может быть действительным числом!
Выведи четыре массива:
со всеми именами учеников, у которых время меньше 8 секунд,
со всеми именами учеников, у которых время от 8 до 9 секунд (не включая 9),
со всеми именами учеников, у которых время от 9 до 10 секунд (не включая 10)
со всеми именами учеников, у которых время больше или равно 10 секундам.
Ввод Вывод
6
Вася 9.7
Алиса 9
Макс 8.01
Зина 8.5
Рома 9.99
Аня 7.5 ['Аня']
['Макс', 'Зина']
['Алиса', 'Вася', 'Рома']
[]
Python
Помогите мне пожалуйста решить задачу на питоне!
Да это так же, как с оценками. Группировка в список:
from functools import reduce
def key(s): return min(max(int(float(s)), 7), 10) - 7
n = int(input())
students = [input().split() for _ in range(n)]
scores = reduce(lambda d, s: [e + ([s[0]] if i == key(s[1]) else []) for i, e in enumerate(d)], students, [[]] * 4)
print(*scores, sep = '\n')
Округляем все результаты вниз до ближайшего целого, получаем значение в диапазоне [7; 10], вычитаем 7 - получаем индекс от 0 до 3 в списке. В каждый элемент собираем список имён участников с таким результатом. Получается список списков. Потом выводим его по возрастанию индексов.num_students = int(input("Введите количество учеников: "))
names = []
times = []
for i in range(num_students):
name, time = input("Введите имя и время ученика через пробел: ").split()
names.append(name)
times.append(float(time))
less_than_8 = []
from_8_to_9 = []
from_9_to_10 = []
more_than_10 = []
for i in range(num_students):
if times[i] < 8:
less_than_8.append(names[i])
elif times[i] >= 8 and times[i] < 9:
from_8_to_9.append(names[i])
elif times[i] >= 9 and times[i] < 10:
from_9_to_10.append(names[i])
else:
more_than_10.append(names[i])
print("Ученики со временем меньше 8 секунд:", less_than_8)
print("Ученики со временем от 8 до 9 секунд (не включая 9):", from_8_to_9)
print("Ученики со временем от 9 до 10 секунд (не включая 10):", from_9_to_10)
print("Ученики со временем больше или равно 10 секундам:", more_than_10)
Данный код предназначен для классификации учеников по их времени бега на дистанцию.
Сначала пользователю предлагается ввести количество учеников, затем в цикле запрашиваются их имена и время бега, которые сохраняются в соответствующие списки.
Затем происходит классификация учеников по времени бега. Для этого создаются четыре пустых списка: less_than_8 (ученики с временем менее 8 секунд), from_8_to_9 (ученики с временем от 8 до 9 секунд), from_9_to_10 (ученики с временем от 9 до 10 секунд) и more_than_10 (ученики с временем более или равным 10 секундам). Затем в цикле проверяется время бега каждого ученика и он добавляется в соответствующий список.
Наконец, выводятся списки учеников в каждой категории.
Таким образом, данный код помогает систематизировать информацию о времени бега учеников и проводить анализ результатов.
names = []
times = []
for i in range(num_students):
name, time = input("Введите имя и время ученика через пробел: ").split()
names.append(name)
times.append(float(time))
less_than_8 = []
from_8_to_9 = []
from_9_to_10 = []
more_than_10 = []
for i in range(num_students):
if times[i] < 8:
less_than_8.append(names[i])
elif times[i] >= 8 and times[i] < 9:
from_8_to_9.append(names[i])
elif times[i] >= 9 and times[i] < 10:
from_9_to_10.append(names[i])
else:
more_than_10.append(names[i])
print("Ученики со временем меньше 8 секунд:", less_than_8)
print("Ученики со временем от 8 до 9 секунд (не включая 9):", from_8_to_9)
print("Ученики со временем от 9 до 10 секунд (не включая 10):", from_9_to_10)
print("Ученики со временем больше или равно 10 секундам:", more_than_10)
Данный код предназначен для классификации учеников по их времени бега на дистанцию.
Сначала пользователю предлагается ввести количество учеников, затем в цикле запрашиваются их имена и время бега, которые сохраняются в соответствующие списки.
Затем происходит классификация учеников по времени бега. Для этого создаются четыре пустых списка: less_than_8 (ученики с временем менее 8 секунд), from_8_to_9 (ученики с временем от 8 до 9 секунд), from_9_to_10 (ученики с временем от 9 до 10 секунд) и more_than_10 (ученики с временем более или равным 10 секундам). Затем в цикле проверяется время бега каждого ученика и он добавляется в соответствующий список.
Наконец, выводятся списки учеников в каждой категории.
Таким образом, данный код помогает систематизировать информацию о времени бега учеников и проводить анализ результатов.
m1 = []
m2 = []
m3 = []
m4 = []
N = int(input())
for i in range(N):
w = input()
name = w.split(" ")[0]
t = float(w.split(" ")[1])
if t < 8:
m1 = m1 + [name]
elif t < 9:
m2 = m2 + [name]
elif t < 10:
m3 = m3 + [name]
else:
m4 = m4 + [name]
print(m1)
print(m2)
print(m3)
print(m4)
m2 = []
m3 = []
m4 = []
N = int(input())
for i in range(N):
w = input()
name = w.split(" ")[0]
t = float(w.split(" ")[1])
if t < 8:
m1 = m1 + [name]
elif t < 9:
m2 = m2 + [name]
elif t < 10:
m3 = m3 + [name]
else:
m4 = m4 + [name]
print(m1)
print(m2)
print(m3)
print(m4)
Похожие вопросы
- Помогите пожалуйста решить задачи на питоне:
- Помогите пожалуйста решить задачу на питоне...
- Помогите решить задачу на питоне. пожалуйста.
- Помогите решить задачу в питоне, пожалуйста.
- Помогите, пожалуйста, решить задачу Python
- Помогите решить задачу на питон!!
- Помогите, пожалуйста, с задачей на питоне!
- Помогите решить задачу на Питоне
- Помогите решить задачу в питоне
- Помогите пожалуйста с задачей по питону
Принимаем N - количество Записей учителя физкультуры.
Метод split делит Запись на две части: до пробела и после. Первая часть это Имя ученика (name), вторая - его Время забега (t). В зависимости от t присоединяем name к соответствующим массивам.
Выдаём массивы.