Не добавляется элемент в список python
Вот текст задачи:
Вы парсите логи сервера. Напишите программу, которая будет считать количество запросов к серверу, сгруппированных по статус кодам, а так же ниже количество запросов, сгруппированных по адресу. Отсортируйте результат по возрастанию. Ввод заканчивается ключевым словом end
```
Sample Input:
/api/admin 200
/api/admin 400
/cities 200
/users/create 201
/users/1/delete 204
/users/2/delete 204
/users/2/delete 404
end
Sample Output:
200 2
201 1
204 2
400 1
404 1
/api/admin 2
/cities 1
/users/1/delete 1
/users/2/delete 2
/users/create 1
```
Я понимаю как решить задачу, но у меня не получается собрать два списка с данными, они получаются пустыми, что я делаю не так? Вот мой код:
```
ch, i = [], None
sl = []
while i != 'end':
i = input()
if i == 'end':
exit()
i = i.split(' ')
#i[0]=/addadada/adawdad i[1]=202
sl.append(i[0])
ch.append(int(i[1]))
print(sl)
print(ch)
```
Ответы (1 шт):
Как уже сказали в комментариях ваша проблема была в том, что вместо break у вас стоял exit().
Дополнительно хочу показать, как эту задачу можно решить более оптимальным способом.
Лучше всего использовать словарь, поскольку вам нужно хранить именно соответствие кода запроса и их количества.
Типовая задача на подсчет количества элементов с использованием словаря решается следующим образом:
requests = {}
inp = input()
while inp != 'end':
request, code = inp.split()
if code in requests:
requests[code] += 1
else:
requests[code] = 1
inp = input()
requests = dict(sorted(requests.items(), key=lambda item: item[1]))
print(requests)
Это не полное решение вашей задачи, а лишь типовой алгоритм того, как лучше реализовывать подобные вещи.