SpongeBob Mocking Text Generator – Python
SpongeBob mocking text (spongemock) is a style of writing in which the alphabets are randomly written in upper and lower case. It is used in internet communities to mock something. The text originated as a meme from the SpongeBob cartoon series.
Examples :
Input : The quick brown fox jumps over the lazy dog.
Output : tHE QuiCK BrOWN fOX juMps over tHe lAzY dOG.
Input : This sentence is to test the function.
Output : This seNtENce is TO TeST THE funcTiON.
Algorithm :
- Process the input string by character.
- Check if the character is an alphabet by using isalpha() method.
- Use random.random() method to generate a random number between 0 and 1.
- If the number generated is greater than 0.5 then change the character to upper case using upper() method.
- If the number generated is less than or equal to 0.5 then change the character to lower case using lower() method.
Python3
import random
def spongemock(input_text):
output_text = ""
for char in input_text:
if char.isalpha():
if random.random() > 0.5 :
output_text + = char.upper()
else :
output_text + = char.lower()
else :
output_text + = char
return output_text
if __name__ = = "__main__":
input_text1 = "The quick brown fox jumps over the lazy dog."
input_text2 = "This sentence is to test the function."
print (spongemock(input_text1))
print (spongemock(input_text2))
|
Output :
tHe qUICk BrOWn fox jUMPs oVEr thE lAZy dOG.
THIS seNTEncE IS tO TesT tHe FuNcTIOn.
The above code generates the text with equal amount if lower and upper case characters. If we want to skew the balance to favour one side we can switch the random.random() method with random.triangular() method.
Python3
import random
def skewupper():
low = 0
high = 100
mode = 80
return random.triangular(low, high, mode)
def skewlower():
low = 0
high = 100
mode = 20
return random.triangular(low, high, mode)
def spongemockupper(input_text):
output_text = ""
for char in input_text:
if char.isalpha():
if skewupper() > 50 :
output_text + = char.upper()
else :
output_text + = char.lower()
else :
output_text + = char
return output_text
def spongemocklower(input_text):
output_text = ""
for char in input_text:
if char.isalpha():
if skewlower() > 50 :
output_text + = char.upper()
else :
output_text + = char.lower()
else :
output_text + = char
return output_text
if __name__ = = "__main__":
input_text1 = "The quick brown fox jumps over the lazy dog."
print ("Spongemock text with more upper case characters :\n" +
spongemockupper(input_text1))
print ("\nSpongemock text with more lower case characters :\n" +
spongemocklower(input_text1))
|
Output :
Spongemock text with more upper case characters :
ThE qUICK BROwN FOX jUMPs OVeR THE lazy DoG.
Spongemock text with more lower case characters :
The qUick BrOwn fOX JuMPs oveR the LaZy DOg.
Last Updated :
10 Mar, 2022
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...