Python Challenge: преобразуйте имя в инициалы
Напишите функцию для преобразования имени в инициалы. В этом задании требуется строго два слова с одним пробелом между ними.
В результате должны быть две заглавные буквы с точкой, разделяющей их.
Примеры:
Louis harris -> L.H john patrick -> J.P
Решение №1
Вот как работает код:
- Функция
abbrevName
принимает один аргумент,name
, который, как ожидается, будет полным именем в формате «Первый последний». - Метод
split()
используется для строкиname
, чтобы разделить ее на список слов (при условии, что «Первое» и «Последнее» — это два слова). - Понимание списка используется для перебора каждого слова в списке, полученном в результате разделения. Для каждого слова
x
код извлекает первый символ с помощьюx[0]
. - Затем метод
join()
используется для объединения извлеченных первых символов с точкой ('.'
). Это фактически создает аббревиатуру в формате «F.L», гдеF
— это начальная буква имени, аL
— начальная буква фамилии. - Метод
.upper()
используется для преобразования аббревиатуры в верхний регистр. - Окончательное сокращение возвращается функцией.
Решение № 2
Вот как работает код:
- Функция
abbrevName
принимает один аргумент,name
, который, как ожидается, будет полным именем в формате «Первый последний». - Метод
upper()
используется для строкиname
для преобразования ее в верхний регистр. Это сделано для обеспечения единообразия при извлечении инициалов. - Затем метод
split(' ')
используется для разделения имени в верхнем регистре на список слов, при условии, что между именем и фамилией есть пробел. - Переменным
first
иlast
присваиваются значения первого и последнего элементов списка соответственно. - Затем код создает аббревиатуру путем объединения первого символа
first
, точки ('.'
) и первого символаlast
. - Аббревиатура возвращается функцией.
Решение №3
Вот как работает код:
- Функция
abbrevName
принимает один аргумент,name
, который, как ожидается, будет полным именем в формате «Первый последний». - Метод
split()
используется для строкиname
для разделения ее на список слов (при условии, что «Первое» и «Последнее» — это два слова). - Переменной
names
присваивается список слов, полученных в результате разделения. - Затем функция создает аббревиатуру путем объединения первого символа имени (доступ к которому осуществляется с помощью
names[0][0]
), точки ('.'
) и первого символа фамилии (доступ к которому осуществляется с помощьюnames[1][0]
). - Аббревиатура преобразуется в верхний регистр с помощью метода
.upper()
. - Аббревиатура возвращается функцией.
Решение № 4
Вот как работает код:
- Функция
abbrevName
принимает один аргумент,name
, который, как ожидается, будет полным именем. - Код инициализирует пустой список с именем
result
для хранения инициалов. - Метод
name.split(" ")
используется для разделения строкиname
на список слов. - Цикл
for
проходит по каждому словуx
вnameList
, полученному в результате разделения. - Для каждого слова первый символ (начальный) извлекается с помощью
x[0]
, а.upper()
используется для преобразования его в верхний регистр. - Затем инициал в верхнем регистре добавляется к списку
result
. - После перебора всех слов метод
join()
используется для объединения инициалов с точками ('.'
), создавая сокращение. - Аббревиатура возвращается функцией.