Compare Strings
Write a function called compare(string1, string2)
, which takes two strings as parameters. The function should return True if the two strings are the same, ignoring capitalization and ignoring leading and trailing whitespace, and False otherwise.
Example
Test Code | Output |
---|---|
print(compare('Hi', 'Hi'))
|
True
|
print(compare('Hi', 'hi'))
|
True
|
print(compare('hi', 'Hi'))
|
True
|
print(compare(' hi', 'hi'))
|
True
|
print(compare('hi', ' hi'))
|
True
|
print(compare('hi.', 'hi!'))
|
False
|
Swap Words
Write a function called swap_words(string)
, which takes a single string as a parameter. Assume that the specified string contains two words separated by exactly one space character. The function should return a new string that swaps the positions of the two words in the specified string.
Example
Test Code | Output |
---|---|
print(swap_words('hello world'))
|
world hello
|
print(swap_words('world hello'))
|
hello world
|
Pig Latin Translator
Pig Latin is a somewhat silly language parody that is actually entirely English based. It is a simple transposition of letters that gives the effect of a “foreign” sounding language. However, even Thomas Jefferson couldn’t resist writing letters to his friends in Pig Latin. The rules for converting an English word to Pig Latin are incredibly easy:
- If the first character of the word is a vowel, append the string “yay” to the end.
- If the first character is a consonant, then all consonants up to (but not including) the first vowel are moved to the end of the word. A ’ character is placed between the transposed characters. Then the string “ay” is appended to the word.
Details
Write a program that prompts the user to enter a word and prints the specified word in Pig Latin.
Example
Enter a word: scram scram in Pig Latin is: am'scray Enter a word: immediate immediate in Pig Latin is: immediateyay
Hint
Before converting the input text to Pig Latin, the program must find the index of the first vowel. Finding the index of the first vowel is a little tricky, so creating a function to do it will make writing the rest of the program easier.
Write a function
index_of_first_vowel(text)
that returns the index of the first vowel character in the specified string. It is simple to find the first index of a single vowel using thefind
method. And it is fairly simple to find the smallest index of all of the first indices of each vowel using the built-inmin
method. However, because thefind
method returns -1 if a character is not in the string, themin
function will return -1 if any vowels are not in the string. To solve this you will have to write some more complex conditional statements that check whether a vowel is in the string before finding its index. If the vowel is not in the string, set a variable for the index of the vowel to something large, so that it will not be smallest when themin
function is used. If the vowel is in the string, set the variable for the index of the vowel to the actual index of the vowel.With the above function, writing the translation is simple. If the index of the first vowel is 0, then apply the first Pig Latin rule using concatenation. If the index of the first vowel is not 0, then apply the second Pig Latin rule using a slice and concatenation.
Submission
Please show your source code and run your programs for the instructor or lab assistant. Only programs that have perfect functionality will be accepted as complete.