есть ли какой-нибудь простой способ сделать это, чем то, что я сделал

#python #string #list #methods #append

#python #строка #Список #методы #добавить

Вопрос:

Давайте создадим функцию, которая преобразует текст в pig latin: простое преобразование текста, которое изменяет каждое слово, перемещая первый символ в конец и добавляя «ay» в конце. Например, python заканчивается как ythonpay.

  def pig_latin(text):
    list=[]
    string=""
    # Separate the text into words
    for word in text.split():
        list.append(word[1:] word[0] "ay")
    # Create the pig latin word and add it to the list
    # Turn the list back into a phrase
    for n in list:
        string = string   n  " "
    return string.rstrip()

print(pig_latin("hello how are you")) # Should be "ellohay owhay reaay ouyay"
print(pig_latin("programming in python is fun")) # Should be "rogrammingpay niay ythonpay siay unfay"
  

Ответ №1:

Вы можете попробовать это:

 def pig_latin(text):
    list = []
    for word in text.split():
        list.append(word[1:]   word[0]   "ay")

    return " ".join(list)

print(pig_latin("hello how are you"))
print(pig_latin("programming in python is fun"))
  

Комментарии:

1. большое спасибо, я искал более простой способ упростить преобразование списков в строку, хотя я изучал метод join, но я никогда не использовал

Ответ №2:

Вы можете попробовать понимание списка:

 >>> pig_latin = lambda s: ' '.join([i[1:]   i[0]   'ay' for i in s.split(' ')])

>>> pig_latin("hello how are you")
'ellohay owhay reaay ouyay'

>>> pig_latin("programming in python is fun")
'rogrammingpay niay ythonpay siay unfay'
  

Комментарии:

1. это здорово, но я все равно не знаю, как это сделать, спасибо

2. @NELSONJOSEPH В чем проблема в этом?

3. функция для изменения формата строки, вот и все

Ответ №3:

 text = "hello how are you"
for word in text.split():
    latin = word[1:]   word[:1]   'ay'
    print(latin)
  

Результат:

 ['hello', 'how', 'are', 'you']
ellohay
owhay
reaay
ouyay
  

реализуйте это в своей функции выше

Ответ №4:

Вопрос создайте функцию, которая преобразует текст в pig latin: простое преобразование текста, которое изменяет каждое слово, перемещая первый символ в конец и добавляя «ay» в конце.

Здесь используется логика

Мы создадим список empyt, определяющий переменную, которая содержит текст в виде разделенной строки, хранящейся в списке

Код

 def pig_latin(text):
      new_list = []
      a = text.split()
      for word in a:  #consider a variable to iterate in a
        word = word[1:]   word[0]   "ay"   
        new_list.append(word)
      return " ".join(new_list)
      
    
    print(pig_latin("hello how are you")) # Should be "ellohay owhay reaay ouyay"
    print(pig_latin("programming in python is fun")) # Should be "rogrammingpay niay ythonpay siay unfay"
  

Надеюсь, это поможет 🙂

Комментарии:

1. Это то же самое, что и принятый ответ, но с некоторыми дополнительными промежуточными переменными.