मैंने पहले यह किया है। सरल समाधान है कि मैं के साथ समाप्त हो गया था निम्नलिखित कुंजी/मान की एक सरणी:
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
तो फिर तुम mdd
प्रारूप में जन्म तिथि लिखते हैं, यानी, महीने के नंबर और दो अंकों (जनवरी के लिए 1 से शुरू) दिन संख्या (01-31)। सरणी के माध्यम से Iterate, और यदि तिथि सरणी में किसी आइटम से कम या बराबर है, तो आपके पास आपका सितारा चिह्न है।
संपादित मैं जरूरत इस इसलिए यहाँ एक काम समारोह
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 - यह एक नया मॉड्यूल स्थापित किए बिना किया जा सकता है कि सबसे अच्छा समाधान की तरह दिखता है। –
एक 'सरणी' या 'dict'? – Johnsyweb
मैं इसके लिए एक नियम का उपयोग करता हूं। लुकअप के लिए – Daenyth