Уведомления

Группа в Telegram: @pythonsu

#1 Март 1, 2013 18:06:59

sanya_rnd
Зарегистрирован: 2013-02-13
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Решение задачи

n = int(input())
k = int(input())
data = []
while n>0:
    data.append(input().split(":"))
    n=n-1
print(data)

в общем пока работает цикл, в зависимости от n он будет добавлять лист в лист, т.е. data, а внутри подлисты, типа
[['Иванов','23','00','12','20'] ,...]

1
2
xxx 33:33
[['xxx 33', '33']]

Вот что за выходе имею (кинул в код, т.к. форум не отображает кавычки квадратные нормально)

Отредактировано sanya_rnd (Март 1, 2013 18:08:43)

Офлайн

#2 Апрель 3, 2013 18:58:16

sanya_rnd
Зарегистрирован: 2013-02-13
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Решение задачи

n = int(input())
k = int(input())
data = []
# Вводим данные с клавиатуры, на выходе получаем массив с n подмассивами
for x in range(1,n+1):
    data.append(input().replace(":"," ").split(" "))
# Переводим часы:минуты в минуты => каждый подмассив сокращается на 2 элемента
for elem in data:
    elem.append(int(elem[1])*60+int(elem[2]))
    elem.append(int(elem[3])*60+int(elem[4]))
    
    while len(elem)>3:
        elem.pop(1)
        
    if elem[1]>elem[2]:
        raise SystemExit("Время выдачи не может быть меньше времени сдачи")
    
# Сортируем данные в массиве по времени сдачи
data = sorted(data, key=lambda elem: elem[1])
print(data)


Но никак не получается сделать вывод. Я давно это уже написал, но закончить никак не могу. Может есть какая-нибудь идея у кого? Правда ничего не выходит.

Офлайн

#3 Апрель 4, 2013 06:02:02

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Решение задачи

sanya_rnd, смотрю на Ваш код и не понимаю, а зачем там вот эта строка?

k = int(input())

>>>Но никак не получается сделать вывод
Вывод в каком смысле, в философском или вывод на консоль? print(data) это не вывод?



Офлайн

#4 Апрель 4, 2013 12:35:48

sanya_rnd
Зарегистрирован: 2013-02-13
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Решение задачи

FishHook
sanya_rnd, смотрю на Ваш код и не понимаю, а зачем там вот эта строка?
Условие задачи в первом сообщении.

Или тут:
http://infoegehelp.ru/index.php?option=com_content&view=article&id=464&Itemid=77

Офлайн

#5 Апрель 4, 2013 14:31:58

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Решение задачи

sanya_rnd, по условию задачи должна быть переменная неиспользуемая в коде?



Офлайн

#6 Апрель 4, 2013 15:28:18

sanya_rnd
Зарегистрирован: 2013-02-13
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Решение задачи

k - это кол-во свободных ячеек. В input примере они тоже есть.

во второй строке – количество ячеек в камере хранения K, которое не меньше 10, но не превосходит 1000.

print(data) в конце моего кода это просто проверка того, что я получил. Временно добавил. Я не могу сделать сортировку в соответствии с условием.

Отредактировано sanya_rnd (Апрель 4, 2013 15:29:44)

Офлайн

#7 Апрель 4, 2013 16:37:04

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Решение задачи

Давай пример data и пример отсортированной data, придумаем как это сортировать



Офлайн

#8 Апрель 5, 2013 06:09:57

sanya_rnd
Зарегистрирован: 2013-02-13
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Решение задачи

Требуется написать программу (укажите используемую версию языка программирования, например Borland Pascal 7.0), которая будет выводить на экран для каждого пассажира номер ему предоставленной ячейки (можно сразу после ввода данных очередного пассажира). Если ячейка пассажиру не предоставлена, то его фамилия не печатается.
Пример входных данных:
3
10
Иванов 09:45 12:00
Петров 10:00 11:00
Сидоров 12:00 13:12
Результат работы программы на этих входных данных:
Иванов 1
Петров 2
Сидоров 1

data = [["Имя N", "Время сдачи N", "Время выдачи N"], [......], ....]
- в общем каждый пассажир - это лист в общем листе. Потом я отсортировал, листы в листе упорядочились в порядке возрастания по времени сдачи.

Отредактировано sanya_rnd (Апрель 5, 2013 06:10:32)

Офлайн

#9 Апрель 5, 2013 08:40:30

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Решение задачи

>>>Давай пример data и пример отсортированной data
Как бы мне все равно пассажиры это или матрешки.
У тебя есть список data, ты из него хочешь что-то получить. Ну так дай пример конкретный, типа такого

Есть список
[1,2,3,4,5,6,7]
, как из него получить список
["1/2","3/4","5/6"]
.



Отредактировано FishHook (Апрель 5, 2013 08:40:48)

Офлайн

#10 Апрель 5, 2013 11:30:06

sanya_rnd
Зарегистрирован: 2013-02-13
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Решение задачи

data = [[Иванов, 123, 224], [Сидоров, 235, 345], [Петров, 111, 222]]
Вывод:
Петров 1
Иванов 2
Сидоров 1

Отредактировано sanya_rnd (Апрель 5, 2013 11:30:29)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version