Python Program Happy Mother’s Day

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:

Leave a Reply