Назначается, чтобы превратить данную строку в язык шведских грабителей, то есть каждый согласный во фразе удваивается с «o», размещенным между ними. Например, «это весело» будет превращено в «tothohisos isos fofunon». Он также должен быть в функции «translate». Дайте мне знать, что я делаю неправильно. Пожалуйста, попробуйте объяснить довольно просто, я не очень продвинутый :)Шведский грабительский перевод
old_string="this is fun"
vowels=("a", "A", "e", "E", "i", "I", "o", "O", "u", "U")
def translate(old_string):
l=len(old_string)
for let in old_string[0:l]:
for vow in vowels:
if let!=vow:
print str(let)+'o'+str(let)
print translate(old_string)
Выход я получаю «карапуз карапуз карапуз карапуз карапуз карапуз карапуз карапуз карапуз карапуз None
Эй, спасибо, но я не знаю, что такое карта и лямбда. Можете ли вы немного упростить его? Это нормально, если требуется еще несколько строк. Благодаря! – Addison
Вы понимаете, что это совершенно другое решение, верно? И что вы представили более продвинутые концепции? Это не ответ на вопрос. Это «ваш» ответ на начальную заявленную проблему. –
@Addison 'map' отображает функцию в коллекцию, а' lambda' позволяет создавать анонимные функции (например, функции, не связанные с именем). Вы можете больше узнать о функциях лямбда [здесь] (http://www.secnetix.de/olli/Python/lambda_functions.hawk). –