173k views
0 votes
Write a function getPigLatin(pigStr) that accepts pigStr as a parameter (a sentence as input) and converts each word to "Pig Latin." and returns the entire string in Pig Latin. In one version, to convert a word to Pig Latin, you remove the first letter and place that letter at the end of the word. Then, you append the string "ay" to the word. Here is an example:

English: I SLEPT MOST OF THE NIGHT


Pig Latin: IAY LEPTSAY OSTMAY FOAY HETAY IGHTNAY

User Zudokod
by
6.6k points

1 Answer

5 votes

Answer:

userInput = str(input("Enter your sentence here.\\")).upper()

def getPigLatin(userInput):

splitInput = userInput.split(" ")

newList = []

for word in splitInput:

firstLetter = word[0]

if len(word) == 1:

word += 'AY'

newList.append(word)

else:

word = word.strip(word[0])

word += firstLetter

word += 'AY'

newList.append(word)

print(*newList, sep= " ")

getPigLatin(userInput)

Step-by-step explanation:

This solution is done in Python

First the user is prompt to enter a statement, the statement converted to string and also capitalize using str and upper() built-in function. The user input is assigned to userInput variable.

The getPigLatin function is defined and it accept a string as parameter. Inside the getPigLatin function, the userInput is splitted and assigned to splitInput variable.

An empty list is also initialized and assigned to newList. Next, we loop through the splitInput. During the loop; we first check if the length of an element is one, then we just add 'AY' to the element and add the element to the newList. Else, if the element length is more than one; we strip the first letter from the word and also re-assign it to word, then the stripped first letter is added to the end of the word. Next, 'AY' is added to the word and the element is add to the newList.

The last line of the getPigLatin function display the entire element of the list using a space seperator.

The last line of the entire solution call the function passing in the userInput as argument.

User Glenstorey
by
5.9k points