Уведомления

Группа в Telegram: @pythonsu

#1 Март 18, 2017 19:14:34

python335
Зарегистрирован: 2016-10-19
Сообщения: 88
Репутация: +  -8  -
Профиль   Отправить e-mail  

Морзянка. Цикл.

Я решил сделать перевод с морзянки на русский язык. Сразу говорю, что в моем переводчике “p” является пробелом. Вот код:

 def Morze_to_Rus(dic2):
    text=input("Морзе Текст: ")
    text = str(text)
    result=""
    result1=""
    for b in range(0, len(text)):
        ba = text[b]
        if ba == "p":
            result = result + " "
        if not ba == " ":
            result1 = result1+ba
        else:
            print(dic2[result1])
            print(result1)
            result = result + dic2[result1]
            result1 = ""
    print("ОТВЕТ: "+result)
if __name__ == "__main__":
        d0 = dict(а="*-", б="-***", в="*--",
                   г="--*", д="-**",е="*",ё="*",
                   ж="***-",з="--**",и="**", й="*---",
                    к="-*-", л="*-**", м="--",
                    н="-*",о="---",п="*--*",
                    р="*-*",с="***", т="-",у="**-",
                    ф="**-*", х="****",ц="-*-*",
                    ч="---*", ш="----",щ="--*-",
                    ъ="--*--",ы="-*--",ь="-**-",
                    э="**-**",ю="**--",
                    я="*-*-", p=" ")
        d1 = {}
        for v in d0:
            d1[d0[v]] = v
        Morze_to_Rus(d1)
Работает то он нормально,Но проблема в том, что последнюю букву он мне не выдает. Все проверил! Ну просто не видит он ее. Что мне делать? Подкинте идейку - буду признателен.

Офлайн

#2 Март 18, 2017 20:28:16

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Морзянка. Цикл.

Это потому что у вас признак “окончания” буквы в морзянке пробел, а в конце строки обычно пробел не ставят, вот последний символ и сьедается.А ввобще используйте метод строк strip для подобных случаев
https://docs.python.org/2/library/stdtypes.html#str.split

 For example, '1 2 3'.split() returns ['1', '2', '3']



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Март 18, 2017 20:32:47)

Офлайн

#3 Март 18, 2017 20:39:09

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

Морзянка. Цикл.

а последняя буква случайно не р?

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version