![]() |
|
Модераторы: Poseidon |
![]()
|
|
| Paranorma |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 1.1.2007 Репутация: 1 Всего: 1 |
Ребята, простите, что надоедаю постоянно, но очень нужна ваша помощь и срочно. Вот так звучит задание: вводятся строки, надо посчитать сколько раз повторяются разные символы в этих строках. То есть посчитать сколько: "a", "A", ... "z", "Z"; а также любых других символов: ".", "#" и т.д. До меня просто не доходит, как все это написать, ведь не повторять же один и тот же фрагмент программы для каждого символа. Ранее я делала вот какое задание:
Но тут совсем все просто было, а как быть если надо все символы учесть и даже знаки препинания? |
|||
|
||||
| Бонифаций |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 827 Регистрация: 15.9.2005 Где: Brisbane Репутация: 1 Всего: 40 |
Заведите хэш по буквам
-------------------- Бонифаций. |
|||
|
||||
| Paranorma |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 1.1.2007 Репутация: 1 Всего: 1 |
Извините, что значит хэш? Я просто пока реально многого не знаю?
|
|||
|
||||
| setq |
|
|||
|
Unregistered |
(словарь)
|
|||
|
||||
| Paranorma |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 1.1.2007 Репутация: 1 Всего: 1 |
Я все же сама эту задачку осилила
Но препод еще вот как велел переделать задание: Вобщем то правильно, но есть два замечания: - Список - "a" вобщем то не нужен; - Печать словаря выглядит не красиво, хотелось бы чтобы результат выглядел так: a - ... b - ... ....... Насколько я понимаю, тут метод sort потребуется... Что можете посоветовать? |
|||
|
||||
| setq |
|
|||
|
Unregistered |
Да. Хорошая идея. Можно преобразовать словарь к списку ключей/значений и затем отсортировать (можно даже с параметром key, для скорости).
|
|||
|
||||
| Paranorma |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 1.1.2007 Репутация: 1 Всего: 1 |
Выручайте, плиз... Снова у меня ничего не вышло. Мне преподаватель дал еще одну подсказку:
Что касается печати словаря то надо сначала получить массив ключей, отсортировать его а затем двигаясь по отсортированному массиву ключей напечатать словарь. Проблема у меня в том, что никак не могу разобраться, как создать словарь без использования списка. Очень нужен конкретный пример решения. |
|||
|
||||
| setq |
|
|||
|
Unregistered |
Почему ничего не вышло? Не надо создавать словарь. Предположим, он уже есть. Получить массив ключей можно так:
|
|||
|
||||
| Бонифаций |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 827 Регистрация: 15.9.2005 Где: Brisbane Репутация: 1 Всего: 40 |
значит вместо print dictionary надо сделать вот что:
-------------------- Бонифаций. |
|||
|
||||
| setq |
|
|||
|
Unregistered |
||||
|
||||
| Бонифаций |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 827 Регистрация: 15.9.2005 Где: Brisbane Репутация: 1 Всего: 40 |
хм не проверял, но по идее должны взяться ключи отсортироваться в временном списке и присвоиться keyset.
Ну если я ошибаюсь тогда конечно keyset = dictionary.keys() keyset.sort() -------------------- Бонифаций. |
|||
|
||||
| Paranorma |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 1.1.2007 Репутация: 1 Всего: 1 |
Люди, что же я так бестолкова?
Препод говорит, что после ввода строк должна идти их обработка, а потом уж их ввод в словарь. Я никак не могу это понять... Мне же еще и внутренний цикл потребуется, чтоб, например, буквы "а" складывались только с "а", а "б" - с "б". У меня на данный момент только этот фрагмент в программе dictionary = {}
И куда дальше двигаться - мне непонятно. Сама же распечатка отсортированного словаря будет выглядеть так: А - 5 С - 2 М - 3 Но с сортировкой я справлюсь. Плиз, помогите с созданием словаря!!! |
|||
|
||||
| Бонифаций |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 827 Регистрация: 15.9.2005 Где: Brisbane Репутация: 1 Всего: 40 |
уже отвечал же
еще раз
Это сообщение отредактировал(а) Бонифаций - 1.6.2007, 00:13 -------------------- Бонифаций. |
|||
|
||||
| PyLearner |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 17.5.2007 Репутация: нет Всего: 1 |
Пока до словаря не дошел, но со списком вот что получилось, не пинайте пожалуйста, я всего лишь начинающий вообще в программировании:
Это сообщение отредактировал(а) PyLearner - 1.6.2007, 01:17 |
|||
|
||||
| Paranorma |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 1.1.2007 Репутация: 1 Всего: 1 |
Всем огромное спасибо!
Последний вопрос. Как быть с сортировкой? Поясню, что имеется ввиду. Например, я ввожу такую строку "abracadabra" и распечататься она должна так: а - 5 b - 2 с - 1 d - 1 Сортировка идет именно по алфавиту. На данный момент у меня имеется это:
Тут сортировка ключей, но значения не печатаются. Можно записать еще и так
Тут печатаются и ключи, и значения, но никакой сортировки. Как добиться того результата, о котором я выше писала? |
||||
|
|||||
| Бонифаций |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 827 Регистрация: 15.9.2005 Где: Brisbane Репутация: 1 Всего: 40 |
вы что издеваетесь чтоли? Тoже уже писал:
-------------------- Бонифаций. |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |