Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/165: Рейтинг темы: голосов - 165, средняя оценка - 4.52
-16 / 3 / 0
Регистрация: 15.12.2018
Сообщений: 82

Азбука Морзе, которая почему-то не работает

28.12.2018, 12:58. Показов 31120. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Каждая буква заменяется на последовательность точек и тире. В качестве тире используйте обычный дефис: «-», а в качестве точки — точку «.». Например, буква «g» превратится в трёхсимвольную строку «--.». Между закодированными буквами нужно ставится ровно один пробел. Например, слово «Help» превратится в «.... . .-.. .--.».

Обратите внимание, что строчные и заглавные буквы кодируются одинаково.

Формат ввода
Весь текст записан в единственной строке. Текст состоит из английских букв и пробелов, других символов в тексте нет. В тексте не может быть двух или более пробелов подряд.

Длина текста не превышает 100 000 символов, количество слов в тексте не превышает 1000.

Формат вывода
Выведите каждое слово исходного текста, закодированное азбукой Морзе, на отдельной строке. Количество строк в ответе должно совпадать с количеством слов в исходном тексте.

Пример
Ввод
Help me SOS
Вывод
.... . .-.. .--.
-- .
... --- ...

вот мой код:
az = ['.-', '-...', '-.-.', '-..', '.', '..-.', '--.', '....', '..', '.---', '-.-',
'.-..', '--', '-.', '---', '.--.', '--.-', '.-.', '...', '-', '..-', '...-',
'.--', '-..-', '-.--', '--..']
numbs = ['-----', '.----', '..---', '...--', '....-', '....', '-...', '--..',
'---.', '----']

text = input()
text = text.lower()

new_text = ''
for n, i in enumerate(list(text)):
if 97 <= ord(i) <= 97 + 26:
new_text += az[ord(i) - 97] + ' '
if 48 <= ord(i) <= 48 + 10:
new_text += numbs[ord(i) - 48] + ' '
if ord(i) == 32:
new_text += '\n'

print(new_text)
Ошикба в том, что Ожидаемый результат
.... . .-.. .--.
-- .
... --- ...
Вывод
.... . .-.. .--.
-- .
... --- ...
Подскажите как это исправить
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.12.2018, 12:58
Ответы с готовыми решениями:

Азбука Морзе
Добрый день. Помогите пожалуйста с программой. Необходимо, чтобы пользователь ввел сообщение, а программа перекодировала его в код Морзе и...

Азбука Морзе
Эта задача — коллективная. Выберите себе одного или двух человек в группу. Ваша задача — совместными усилиями написать программу, которая...

Азбука морзе
Напишите программу, которая умеет переводить текст в азбуку Морзе и наоборот. Для &quot;тире&quot; используйте символ &quot;—&quot;, для...

11
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
28.12.2018, 13:19
Ожидаемый результат чем-то отличается от вывода?
0
-16 / 3 / 0
Регистрация: 15.12.2018
Сообщений: 82
28.12.2018, 14:35  [ТС]
Я сам хз, но выдается такая вот ошибка
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
28.12.2018, 14:45
Сверьте пробелы, перенос строк, вот это всё.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
28.12.2018, 15:41
Цитата Сообщение от Kalet Посмотреть сообщение
-- .
Здесь лишний пробел в конце

Добавлено через 28 секунд
И вообще во всех строках.
0
-16 / 3 / 0
Регистрация: 15.12.2018
Сообщений: 82
29.12.2018, 19:01  [ТС]
Можно ли узнать, как это исправить в коде? Буду премного благодарен
0
45 / 31 / 14
Регистрация: 06.11.2018
Сообщений: 32
30.12.2018, 15:34
Тоже мучаюсь с этой задачей, пробел в конце все равно остается, из-за этого не принимается задача
Вот мой код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
sp = {'a': '.-', 'b': '-...', 'c': '-.-.', 'd': '-..', 'e': '.', 'f': '..-.',
      'g': '--.', 'h': '....', 'i': '..', 'j': '.---', 'k': '-.-', 'l': '.-..', 'm': '--', 'n': '-.',
      'o': '---', 'p':
          '.--.', 'q': '--.-',
      'r': '.-.', 's': '...', 't': '-', 'u': '..-', 'v': '...-', 'w': '.--', 'x': '-..-',
      'y': '-.--', 'z': '--..',
      '.': '.', '-': '-', '1': '.----', '2': '..---', '3': '...--', '4': '....-',
      '5': '.....',
      '6': '-....', '7': '--...', '8': '---..', '9': '----.', '0': '-----'}
text = input().lower().split()
arr = []
for i in text:
    for j in i:
        print(sp[j], end=" ")
    print()
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
30.12.2018, 16:35
Лучший ответ Сообщение было отмечено Kalet как решение

Решение

ilyand101,
Python
1
2
for i in text:
    print(' '.join(sp[j] for j in i))
2
-16 / 3 / 0
Регистрация: 15.12.2018
Сообщений: 82
30.12.2018, 19:39  [ТС]
Епа ты джибошишь, спасибо большое, тоже понял свою ошибку ʕ ᵔᴥᵔ ʔ
0
0 / 0 / 0
Регистрация: 15.12.2021
Сообщений: 1
15.12.2021, 15:03
data = {'a': '.-',
'b': '-...',
'c': '-.-.',
'd': '-..',
'e': '.',
'f': '..-.',
'g': '--.',
'h': '....',
'i': '..',
'j': '.---',
'k': '-.-',
'l': '.-..',
'm': '--',
'n': '-.',
'o': '---',
'p': '.--.',
'q': '--.-',
'r': '.-.',
's': '...',
't': '-',
'u': '..-',
'v': '...-',
'w': '.--',
'x': '-..-',
'y': '-.--',
'z': '--..'}
s = input().lower().split()
for i in s:
o = []
for j in i:
o.append(data[j])
print(' '.join(o))
0
243 / 178 / 73
Регистрация: 17.10.2018
Сообщений: 749
15.12.2021, 15:05
Тут этих задач на азбуку Морзе полно решенных. Че бы не поискать?
0
 Аватар для Aviz__
2738 / 2047 / 507
Регистрация: 17.02.2014
Сообщений: 9,465
15.12.2021, 17:02
Цитата Сообщение от Lekks Посмотреть сообщение
Че бы не поискать?
это подразумевает взрослые подходы...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.12.2021, 17:02
Помогаю со студенческими работами здесь

Азбука Морзе
В программе есть функция, переводящая текст в азбуку морзе, вроде бы она работает, но я столкнулся с проблемой. По каким-то причинам,...

Азбука Морзе
Ваша задача — написать программу, которая будет кодировать сообщения в азбуку Морзе и декодировать обратно. Код Морзе возьмите из...

Азбука Морзе
Добрый день, подскажите, пожалуйста, дано такое задание: Используется азбука Морзе, необходимо написать метод для консольного приложения,...

Азбука Морзе
Не проходит 3 теста из 7. Понимаю, очень коряво и костыльно, но хочешь жить - умей вертеться) Пожалуйста, помогите исправить ошибки,...

Азбука морзе
помогите сделать так что бы азбука морзе проигрывалась звуком. Ниже готовый код без звука работает #include &quot;stdafx.h&quot; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru