Вашему решению предоставлена строка string.
Напишите выражение для генерации строки, представляющей собой аббревиатуру заданной.
Примечание
В решении не должно быть ничего, кроме списочного выражения.
Пример
Ввод
string = 'Российская Федерация'Вывод
'РФ'Ввод
string = 'открытое акционерное общество'Вывод
'ОАО'Решение
В этот раз задание подталкивает нас к мысли, что с помощью списочных выражений можно генерировать строки. И в этом есть некоторая проблема — списочные выражения не могут просто так сгенерировать строку. Списки, множества, словари, но не строки. К счастью, есть прекрасный метод join(), который поможет выйти из затруднительного положения.
Фактически, нам надо завернуть в списочное выражение следующий код:
Python
result = ''
chars = []
for word in string.split():
chars.append(word[0])
result = ''.join(chars)Посмотреть код
Решение
Python
''.join(word[0].upper() for word in string.split())
s = input()
v = s.upper()
a = v.split()
c = []
r = »
for i in a:
c.append(i[0])
r = ».join(c)
print(r)
Я решил эту задачу следующим образом — код ниже. На сколько это «правильно»? Чекер яндекса принял ответ.
Это решение даст правильный ответ в простых случаях,
Но, к примеру слово rock’n’roll оно превратит в Rock’N’Roll
мое решение даст ответ R, а ваше RNR
Так же в случае 3D printing ответы будут разными но этот случай пограничный. в условии не сказано как поступасть со словами типа 3D. формально мое решение будет более правильным, а вот с точки зрения правильности аббревиатур оба будут некорректными.