Международный радиотелефонный фонетический алфавит представляет собой таблицу обозначений букв. Каждой букве ставится в соответствие определённое кодовое слово (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
Python
Срочно помогите задача по Python!!!
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"}
x = input().lower()
for xx in x:
if(xx in alphabet):
print(alphabet[xx], end=" ");
Павел Корнейчук
Не подошло(
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'}
def encode_word(word):
if word == '':
return ''
char = word[0].lower()
if char in alphabet.keys():
return alphabet[char] + ' ' + encode_word(word[1:])
return encode_word(word[1:])
print(encode_word(input().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'
def encode_word(word):
if word == '':
return ''
if word[0] in alphabet.keys():
return alphabet[word[0]] + ' ' + encode_word(word[1:])
return encode_word(word[1:])
print(encode_word(input().lower()))
PS: Если не будет работать, не пинать Вот решение задачи на Python:
```python
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, rest = word[0], word[1:]
# Ищем шифр для первой буквы и рекурсивно кодируем оставшуюся часть слова
code = alphabet.get(first, '')
rest_code = encode_word(rest)
# Соединяем результаты
if rest_code:
return f'{code} {rest_code}'
else:
return code
```
Пример использования:
```python
word = input('Введите слово: ')
code = encode_word(word)
print(code)
```
Если ввести слово "He432llo", то программа выведет:
```
Hotel Echo Lima Lima Oscar
```
```python
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, rest = word[0], word[1:]
# Ищем шифр для первой буквы и рекурсивно кодируем оставшуюся часть слова
code = alphabet.get(first, '')
rest_code = encode_word(rest)
# Соединяем результаты
if rest_code:
return f'{code} {rest_code}'
else:
return code
```
Пример использования:
```python
word = input('Введите слово: ')
code = encode_word(word)
print(code)
```
Если ввести слово "He432llo", то программа выведет:
```
Hotel Echo Lima Lima Oscar
```
Павел Корнейчук
Не подходит
Похожие вопросы
- Помогите задачу в python решить а то я чайник не понимаю, желательно с прояснением
- Пожалуйста, помогите решить задачу на Python. Упражнения 57,58,59,60.
- Помогите решить задачу на Python. Никак не могу решить задачу, больше дня не могу найти ответ! Никакой код не работает.
- СРОЧНО!!! Задача на python: "bf--"
- Срочно помогите с задачей на Python!!!
- Решение задач по python
- Помогите пожалуйста с задачей на Python.
- Помогите пожалуйста с задачей по python!
- Задача на Python помогите
- Пожалуйста, помогите решить задачу на Python. Упражнение 124, 125, 146