Top.Mail.Ru
Ответы

Срочно прям очень

Международный радиотелефонный фонетический алфавит представляет собой таблицу обозначений букв. Каждой букве ставится в соответствие определённое кодовое слово (A - Alfa, B - Bravo, и т.д.) таким образом, чтобы последовательности букв (и цифр) могли быть легко произнесены и правильно поняты при голосовом общении по радио или телефону, независимо от родного языка передающей/принимающей стороны.
Напишите функцию encode_word, которая будет принимать слово у пользователя и возвращать его в виде шифра из соответствующих слов, обозначающих буквы исходного текста.
Например, если введено слово ’Hello’, на экране должна быть отображена следующая последовательность слов: Hotel Echo Lima Lima Oscar.
Для решения этой задачи вам предстоит использовать рекурсивную функцию, а не циклы. При этом все небуквенные символы, которые могут быть поданы на вход, нужно игнорировать.
alphabet = ’a’: ’Alpha’, ’b’: ’Bravo’, ’c’: ’Charlie’, ’d’: ’Delta’, ’e’: ’Echo’, ’f’: ’Foxtrot’, ’g’: ’Golf’, ’h’: ’Hotel’, ’i’: ’India’, ’j’: ’Juliett’, ’k’: ’Kilo’, ’l’: ’Lima’, ’m’: ’Mike’, ’n’: ’November’, ’o’: ’Oscar’, ’p’: ’Papa’, ’q’: ’Quebec’, ’r’: ’Romeo’, ’s’: ’Sierra’, ’t’: ’Tango’, ’u’: ’Uniform’, ’v’: ’Victor’, ’w’: ’Whiskey’, ’x’: ’Xray’, ’y’: ’Yankee’, ’z’: ’Zulu’

Пример
Ввод Вывод
He432llo
Hotel Echo Lima Lima Oscar

По дате
По Рейтингу
Аватар пользователя
Ученик
123456789
 def encode_word(word): 
  if word == '': 
    return '' 
  elif not word[0].isalpha(): 
    return encode_word(word[1:]) 
  else: 
    letter = word[0].lower() 
    alphabet = {'a': 'Alpha', 'b': 'Bravo', 'c': 'Charlie', 'd': 'Delta', 'e': 'Echo', 'f': 'Foxtrot', 'g': 'Golf','h': 'Hotel', 'i': 'India', 'j': 'Juliett', 'k': 'Kilo', 'l': 'Lima', 'm': 'Mike', 'n': 'November','o': 'Oscar', 'p': 'Papa', 'q': 'Quebec', 'r': 'Romeo', 's': 'Sierra', 't': 'Tango', 'u': 'Uniform','v': 'Victor', 'w': 'Whiskey', 'x': 'Xray', 'y': 'Yankee', 'z': 'Zulu'} 
    return alphabet[letter] + ' ' + encode_word(word[1:]) 
Аватар пользователя
Ученик

а ты 1.5 решил?

Аватар пользователя
12345678910111213141516171819202122
 def encode_word(word):
    alphabet = {
        'a': 'Alpha', 'b': 'Bravo', 'c': 'Charlie', 'd': 'Delta', 'e': 'Echo', 'f': 'Foxtrot', 
        'g': 'Golf', 'h': 'Hotel', 'i': 'India', 'j': 'Juliett', 'k': 'Kilo', 'l': 'Lima', 
        'm': 'Mike', 'n': 'November', 'o': 'Oscar', 'p': 'Papa', 'q': 'Quebec', 'r': 'Romeo', 
        's': 'Sierra', 't': 'Tango', 'u': 'Uniform', 'v': 'Victor', 'w': 'Whiskey', 'x': 'Xray', 
        'y': 'Yankee', 'z': 'Zulu'
    }
    word = ''.join(filter(str.isalpha, word.lower()))
    if not word:
        return ''
    first_letter = word[0]
    rest_of_word = word[1:]
    if first_letter in alphabet:
        encoded_letter = alphabet[first_letter]
    else:
        encoded_letter = ''
    return f"{encoded_letter} {encode_word(rest_of_word)}"
word = input('Введите слово: ')
encoded_word = encode_word(word)
print(encoded_word)
 
Аватар пользователя
Мастер

isdigit проверяешь и удаляешь все цифры
lower понижаешь регистр букв
split разделяешь каждую букву пробелом
И дальше заменяешь по букве используя словарь.