Ich habe das schon mal gemacht. Die einfachste Lösung, die ich mit am Ende war eine Anordnung der folgenden Schlüssel/Wert:
120:Cap, 218:Aqu, 320:Pis, 420:Ari, 521:Tau,
621:Gem, 722:Can, 823:Leo, 923:Vir, 1023:Lib
1122:Sco, 1222:Sag, 1231: Cap
Dann Sie das Geburtsdatum im mdd
Format zu schreiben, dh Monat Nummer (mit 1 ab Januar) und zweistellige Tagesnummer (01-31). Iterieren durch das Array, und wenn das Datum kleiner oder gleich einem Element im Array ist, haben Sie Ihr Sternzeichen.
EDIT Ich brauchte diese hier ist also dieses Konzept als Arbeitsfunktion
zodiacs = [(120, 'Cap'), (218, 'Aqu'), (320, 'Pis'), (420, 'Ari'), (521, 'Tau'),
(621, 'Gem'), (722, 'Can'), (823, 'Leo'), (923, 'Vir'), (1023, 'Lib'),
(1122, 'Sco'), (1222, 'Sag'), (1231, 'Cap')]
def get_zodiac_of_date(date):
date_number = int("".join((str(date.date().month), '%02d' % date.date().day)))
for z in zodiacs:
if date_number <= z[0]:
return z[1]
+1 - das sieht nach der besten Lösung aus, die ohne ein neues Modul installiert werden kann. –
Ein 'Array' oder ein' Dict'? – Johnsyweb
Ich würde ein Diktat dafür verwenden. – Daenyth