Форум сайта python.su
Я ничего не понял.
Удачи.
Офлайн
Где у Вас вывод нумерации ячеек?
Самому в коде искать?
Вот допустим переменная data
[['Иванов', 585, 720], ['Петров', 600, 660], ['Сидоров', 720, 792]
for i in data: t=i[0] y=str(i[1]) print (t,y[0],min(y))
3 10 Иванов 09:45 12:00 Сидоров 12:00 13:12 Петров 10:00 11:00 Иванов 5 5 Петров 6 0 Сидоров 7 0 [['Иванов', 585, 720], ['Петров', 600, 660], ['Сидоров', 720, 792]]
Отредактировано sanodin (Апрель 5, 2013 15:42:37)
Офлайн
Sanodin, я немного не допонял код. Вывод не таким должен быть. Там же сказано: Сначала Фамилия, потом номер ячейки. Если свободных ячеек нет - пропуск. Номер ячейки определяется из сравнения времени, которое я и не могу сделать нормально.
Я как хотел сделать:
Получил data, в нем n подмассивов по 3 элемента.
Далее я сортировал
data = sorted(data, key=lambda elem: elem)
все элементы по времени сдачи.
А дальше мне нужно что-то типа:
i = 0
j = 0
if data>data:
print(data, j+1)
j = j+1
Но проблема в том, что нужно проверить и последующий элемент, т.е. пока не будет несовпадения. Я запутался в общем.
Офлайн
А для чего вы используете для получения данных словарь? Помоему, гораздо проще использовать список. В условии сказано, что все отсортировано уже по датам, сортировать нечего. Нужно лишь пробегать по списку и смотреть, время конца <= время начала. Я бы так решал:
n = int(raw_input()) k = int(raw_input()) l = [] for s in range(k): l.append(0) ans = [] for i in range(n): family, beg, end = raw_input().split(' ') hour_beg, min_beg = beg.split(':') beg = int(hour_beg)*60 + int(min_beg) hour_end, min_end = end.split(':') end = int(hour_end)*60 + int(min_end) for j in range(k): if l[j] <= beg: l[j] = end ans.append([family, j+1]) break for family, i in ans: print family, i
Отредактировано Stesh (Апрель 8, 2013 23:50:48)
Офлайн
string = list(input()) for elem in string: if elem.isalpha() or elem.isspace(): string.remove(elem) print(string)
sad 21 54 cfc2;1f v ['a', '2', '1', '5', '4', ' ', 'c', 'c', '2', ';', '1', ' ']
Офлайн
sanya_rndВо-первых, ОДНА ЗАДАЧА == ОДНА ТЕМА.
т.е. он удаляет, но как бы и не полностью. В чем проблема?
string = list(input()) string = [elem for elem in string if not elem.isalpha() and not elem.isspace() ]
Отредактировано FishHook (Апрель 20, 2013 08:21:49)
Офлайн
FishHookНу вроде мелочь вопрос, не хочется форум засорять задачами однострочными. Учту, если так необходимо.
Во-первых, ОДНА ЗАДАЧА == ОДНА ТЕМА.
FishHook
Во-вторых, НЕЛЬЗЯ делать цикл по списку и из этого списка удалять.
Первая итерация, курсор списка стоит на индексе 0. Вы удаляете этот элемент. Соответственно второй элемент получает индекс 0, третий 1 и т.д.
Вторая итерация, курсор получает значение 1. А под индексом 1 у нас уже третий элемент изначальной последовательности, и второй не участвует в цикле
Офлайн
Мне нужно найти сколько секунд в сутках, неделе и году, но я не знаю как сделать эту задачу в python. Плиз хелп пипл!!!
Офлайн
seconds_per_hour = 3600 hours_per_day = 24 days_per_week = 7 # the number of seconds in a day seconds_per_day = seconds_per_hour * hours_per_day # the number of seconds in a week seconds_per_week = seconds_per_day * days_per_week #The number of seconds in a year... Sorry, we need to know how many days are in a year?
Офлайн
@SkillAndLuck@
Мне нужно найти сколько секунд в сутках, неделе и году, но я не знаю как сделать эту задачу в python. Плиз хелп пипл!!!
Офлайн