Case20. Two integers are given: D (day) and M (month), which determine the correct date. Output the sign of the Zodiac corresponding to this date: Aquarius (20.1-18.2), Pisces (19.2-20.3), Aries (21.3-19.4), Taurus (20.4-20.5), Gemini (21.5-21.6 ), Cancer (22.6-22.7), Leo (23.7-22.8), Virgo (23.8-22.9), Libra (23.9-22.10), Scorpio (23.10-22.11), Sagittarius (23.11-21.12), Capricorn (22.12-19.1).

Solution in Python 3:

import random

title = {
1 : 'Aquarius',
2 : 'Pisces',
3 : 'Aries',
4 : 'Taurus',
5 : 'Gemini',
6 : 'Cancer',
7 : 'Leo',
8 : 'Virgo',
9 : 'Libro',
10 : 'Scorpio',
11 : 'Sagittarius',
12 : 'Capricorn'
}

M = random.randrange(1,13)
if M in [1,3,5,7,8,10,12]:
D = random.randrange(1,32)
elif M in [4,6,9,11]:
D = random.randrange(1,31)
else:
D = random.randrange(1,30)
#D = 1
#M = 1
print("Day:",D)
print("Month:",M)

x = M*100 + D

if x in range(101,119):
i = 12
elif x in range(120,218):
i = 1
elif x in range(219,320):
i = 2
elif x in range(321,419):
i = 3
elif x in range(420,520):
i = 4
elif x in range(521,621):
i = 5
elif x in range(622,722):
i = 6
elif x in range(723,822):
i = 7
elif x in range(823,922):
i = 8
elif x in range(923,1022):
i = 9
elif x in range(1023,1122):
i = 10
elif x in range(1123,1221):
i = 11
elif x in range(1222,1231):
i = 12

print("Sign of Zodiac:",title[i])