להורדה | סקריפט פייתון לחישוב האם השנה מעוברת או פשוטה ,האם חשון וכסליו מלאים או חסרים ובאיזה יום יוצא ראש השנה
-
מבוסס על הרמב"ם הל' קידוש החודש פרקים ו-ז-ח ,חוץ מחישוב המחזורים שבמקום להוסיף בי"ו תקצ"ה לכל מחזור ,ד"ח תתע"ו לשנה פשוטה והכ"א תקפ"ט לשנה מעוברת השתמשתי בנוסחא
המובאת כאןBAHARAD = 57444 #מולד בהר"ד בחלקים MONTH_LEN = 765433 #אורך חודש בחלקים MEUBAROT = (3, 6, 8, 11, 14, 17, 0) #שנים מעוברות GETRED = 9923 #ג"ט ר"ד BATUTAKPAT = 16788 #בט"ו תקפ"ט ADU = (1, 4, 6) #לא אד"ו ראש def rosh_h(year): pshuta = not year % 19 in MEUBAROT #שנים פשוטות pre_meuberet = (year - 1) % 19 in MEUBAROT #שנה שאחרי מעוברת months = (235 * (year - 1) + 1) // 19 molad = months * MONTH_LEN + BAHARAD #מולד molad_day = ((molad // 1080) // 24) % 7 molad_halakim = molad % (24 * 1080) rosh_day = molad_day if molad_halakim > 19439: #מולד זקן rosh_day += 1 elif pre_meuberet and molad_day == 2 and molad_halakim > BATUTAKPAT: #בט"ו תקפ"ט rosh_day += 1 elif pshuta and molad_day == 3 and molad_halakim > GETRED: #ג"ט ר"ד rosh_day += 1 if rosh_day in ADU: #לא אד"ו ראש rosh_day += 1 return rosh_day def main(): try: year = int(input('enter year: ')) except: print('illegal input') return meubere = year % 19 in MEUBAROT rosh_day = rosh_h(year) next_rosh = rosh_h(year + 1) difference = (next_rosh + 7 - rosh_day) % 7 if meubere: if difference == 5: cheshvan = kislev = "חסר" elif difference == 6: cheshvan, kislev = "חסר", "מלא" else: cheshvan = kislev = "מלא" else: if difference == 3: cheshvan = kislev = "חסר" elif difference == 4: cheshvan, kislev = "חסר", "מלא" else: cheshvan = kislev = "מלא" if meubere: year_type = 'meuberet' else: year_type = 'pshuta' days = {2: "monday", 3: "tuesday", 5: "thursday", 7: "shabat", 0: "shabat"} print('year: {}, {}, rosh hashana on {}, cheshvan - {}, kislev - {}'.format(year, year_type, days[rosh_day], cheshvan, kislev)) while True: main()
מתנצל על השגיאות כתיב
מכניסים שנה במספרים ,כולל אלפים [לדוג' השנה = 5783]
לא לוקח אחריות להלכה
נ.ב. אולי בהמשך אני אעשה סקריפט לחישוב המולד האמיתי
אם יש למישהו את לוח השנים עם הסימנים [מעוברת או פשוטה ,חסרה ,כסדרה או מלאה והיום בו יוצא ראש השנה] בקובץ טקסט אשמח [לצורך השוואה]
קימפלתי את הסקריפט ,ניתן להורידו מכאן -
@האדם-החושב
יש לי קוד VBA ברור שעבדתי איתו הרבה, הבסיס מיובא מפרוג ורק הוספתי עליו קצת, כך שלא אוכל לתת עליו אחריות... אבל תוכל להשוות.
ממיר תאריך לועזי לעברי, ומציג את זה בגימטריה ב STRING. (=> 'י"ב חשוון תשפ"ג').
בהמשך הקוד - להציג במספרים, להמיר בחזרה ללועזי, בודק את השנים אם מעוברות, חישוב המולד, וכו'.
הקובץ להורדה -
@Y-Excel-Access סליחה על הבורות ,אבל איפה אני מריץ את זה?
-
@האדם-החושב
הנה בקובץ אקסל, אפשר להקיש F-11 להגיע לקוד.הפונקציות פועלות גם בתוך אקסל.
-
-
-