Mail.ruПочта0Мой Мир0ОдноклассникиВКонтактеИгры0ЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Python. Азбука морзе. Списки

Алексей Красносельских Ученик (154), на голосовании 4 года назад
Я начинающий программист, и только начал изучать ЯП Python. Выучил вводный курс и сразу перешел к практике. Поставил перед собой задачу написать простой код, который переводит из букв русского алфавита в азбуку морзе. У меня получилось, но просто вывод 1й буквы меня не устраивал, я захотел, чтобы он выводил целые слова, для чего я зациклил код и решил что при вводе буквы, слово (точки и тире на морзе) переносились в список, и при вводе пользователем слова 'готово' - выводил результат, однако введенные слова не сохраняется в списке и он просто выводит пустой список.
Скорее всего я как-то не правильно понимаю работу цикла for. Может есть какой-то другой способ сохранить введенные значения? Или я что то делаю не так?
Вот пример самого кода:

flag = 1
while flag == 1:
main_list = []
x = input("Введите букву: ")
if x == "а":
main_list.append(".-")
elif x == "б":
main_list.append("-...")
else:
if x == "готово":
print(main_list)
flag = 0
break
else:
print("Введено неверное значение, попробуйте ещё раз!")
Дополнен 4 года назад
Не знаю как добавить отступы в вопросе, поэтому добавлю скриншот самого отрывка кода:
Голосование за лучший ответ
Высший разум (1271064) 4 года назад
перенеси вверх:
flag = 1
main_list = []
while flag == 1:

>Не знаю как добавить отступы в вопросе
1
 2
  3
Алексей КрасносельскихУченик (154) 4 года назад
спасибо, помогло) 2 часа сидел, менял и ничего не получалось. Спасибо
Высший разум (1271064) Алексей Красносельских, >Не знаю как добавить отступы в вопросе 1  2   3
Алексей Хвостовский Мудрец (18173) 4 года назад
morze = {
'А': '· −',
'Б': '− · · ·',
'В': '· − −',
'Г': '− − ·',
'Д': '− · ·',
'Е': '·',
'Ж': '· · · −',
'З': '− − · ·',
'И': '· ·',
'Й': '· − − −',
'К': '− · −',
'Л': '· − · ·',
'М': '− −',
'Н': '− ·',
'О': '− − −',
'П': '· − − ·',
'Р': '· − ·',
'С': '· · ·',
'Т': '−',
'У': '· · −',
'Ф': '· · − ·',
'Х': '· · · ·',
'Ц': '− · − ·',
'Ч': '− − − ·',
'Ш': '− − − −',
'Щ': '− − · −',
'Ъ': '− − · − −',
'Ы': '− · − −',
'Ь': '− · · −',
'Э': '· · − · ·',
'Ю': '· · − −',
'Я': '· − · −'}
for x in input().upper(): print(morze[x] if x in morze.keys() else '?')
Похожие вопросы