Happy Mother’s Day to all Mom
Here is a the python way of saying “Happy Mother’s Day”
Let’s put these code in pycharm and run it for Mom.
first one can run on trinket.io
motherday1.py
print('\n'.join([''.join([('Love'[(x-y) % len('Love')] if ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 <= 0 else ' ') for x in range(-30, 30)]) for y in range(12, -10, -1)]))
result:
veLoveLov veLoveLov
eLoveLoveLoveLove eLoveLoveLoveLove
veLoveLoveLoveLoveLoveLoveLoveLoveLoveLov
veLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveL
veLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLov
eLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLove
LoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveL
oveLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLo
veLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLov
eLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLove
oveLoveLoveLoveLoveLoveLoveLoveLoveLoveLove
eLoveLoveLoveLoveLoveLoveLoveLoveLoveLove
LoveLoveLoveLoveLoveLoveLoveLoveLoveLoveL
eLoveLoveLoveLoveLoveLoveLoveLoveLove
oveLoveLoveLoveLoveLoveLoveLoveLove
eLoveLoveLoveLoveLoveLoveLoveLove
veLoveLoveLoveLoveLoveLoveLov
oveLoveLoveLoveLoveLoveLo
LoveLoveLoveLoveLoveL
LoveLoveLoveLov
LoveLoveL
Lov
Then, we need add some color for this heart. Since we are import modouls, following program can only run in pycharm. If you want to know how to download pycharm, please check on this link Python environment guide [Pycharm IDE] .
motherday2.py
import colorama
RED = colorama.Fore.RED + colorama.Style.BRIGHT
print(RED+'\n'.join([''.join([('Love'[(x-y) % len('Love')] if ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 <= 0 else ' ') for x in range(-30, 30)]) for y in range(12, -10, -1)]))
If you receive error on missing module colorama, you know there are 2 ways to install this module as we tought in class. one way is : pip3 install colorama
Next, add more colors , flowers, sleep delay, random space in left, and loops with dynamic colorful result
motherday3.py
import colorama
import time
from random import *
RED = colorama.Fore.RED + colorama.Style.BRIGHT
CYAN = colorama.Fore.CYAN + colorama.Style.BRIGHT
GREEN = colorama.Fore.GREEN + colorama.Style.BRIGHT
YELLOW = colorama.Fore.YELLOW + colorama.Style.BRIGHT
MAGENTA = colorama.Fore.MAGENTA + colorama.Style.BRIGHT
# Print header
for i in range(1, 35):
print('')
# *s position
heartStars = [2, 4, 8, 10, 14, 20, 26, 28, 40, 44, 52, 60, 64, 76]
# Position of space
heartBreakLines = [13, 27, 41, 55, 69, 77]
# Empty column position of rose
flowerBreakLines = [7, 15, 23, 31, 39, 46]
# add new column
def addSpaces(a):
count = a
while count > 0:
print(' ', end='')
count -= 1
# add new line
def newLineWithSleep():
time.sleep(0.3)
print('\n', end='')
play = 0
while play == 0:
Left_Spaces = randint(8, 80)
addSpaces(Left_Spaces)
# draw heart
for i in range(0, 78):
if i in heartBreakLines:
newLineWithSleep()
addSpaces(Left_Spaces)
elif i in heartStars:
print(RED + '*', end='')
elif i in (32, 36):
print(GREEN + 'M', end='')
elif i == 34:
print(GREEN + 'O', end='')
else:
print(' ', end='')
newLineWithSleep()
addSpaces(randint(8, 80))
print(CYAN + "H a p p y M o t h e r ' s D a y !", end='')
newLineWithSleep()
newLineWithSleep()
Left_Spaces = randint(8, 80)
addSpaces(Left_Spaces)
# draw flower
for i in range(0, 47):
if i in flowerBreakLines:
newLineWithSleep()
addSpaces(Left_Spaces)
elif i in (2, 8, 12, 18):
print(MAGENTA + '{', end='')
elif i in (3, 9, 13, 19):
print(MAGENTA + '_', end='')
elif i in (4, 10, 14, 20):
print(MAGENTA + '}', end='')
elif i in (27, 35, 43):
print(GREEN + '|', end='')
elif i in (34, 44):
print(GREEN + '~', end='')
elif i == 11:
print(YELLOW + 'o', end='')
else:
print(' ', end='')
print('\n', end='')
result:
