סקריפט: חישוב ספרת ביקורת בתעודת זהות

ניתן לקרוא כאן על אופן חישוב ספרת ביקורת בתעודת זהות. כדי להקל על החישוב כתבתי סקריפט שמבצע את החישוב. הסקריפט מטפל במצבים החריגים הבאים:

  • קבלת מספר שמכיל פחות מ- 8 ספרות. במצב זה יתווספו "אפסים" מובילים עד להשלמה ל- 8 ספרות.
  • קבלת מספר שמכיל יותר מ- 8 ספרות.
  • הכנסת קלט משובש (מכיל תווים שאינם ספרות).

הורדה: כאן
שימוש: python calculateID.py 12345678
הסבר: 12345678 הוא מספר תעודת זהות
הערה: דווחו על באגים 🙂

My Signature

5 תגובות בנושא “סקריפט: חישוב ספרת ביקורת בתעודת זהות

  1. יהיה exception של list index out of range. במקום רק להדפיס את זה תצא מן התוכנית באופן מפןרש באמצעות exit:

    exit("Error: Missing argument (Usage: id ID_Number\n")

    נ.ב
    המערכת שלך מאוד מציקה, כאשר שוכחים שדה צריך לכתוב את הכל מחדש. למה אתה לא עושה ואדליציה באמצעות JS?

  2. ההערה לגבי הקוד נכונה.

    לגבי המערכת: לא אני כתבתי אותה. מדובר ב- wordpress ואני צריך לבדוק אם יש פתרון לבעיה שהצגת.

  3. a cooler version
    id = 12345678
    result = 10 – (reduce(lambda x, y: int(x) + int(y), reduce(lambda x, y: x+y, map(lambda x: str(int(x[0]) * x[1]), zip(list(id), map(lambda x: bool(x % 2) + 1, range(len(id))))))) % 10)
    result = result * abs(bool(result == 10) – 1)

  4. tr = lambda i, d : d if i%2==1 else sum([int(k) for k in str(d * 2)])
    def isvalid_userid(userid):
    return (userid % 10) == (-sum([tr(i, int(d)) for i, d in enumerate(str(userid // 10))]) % 10)

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *