דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
  1. דף הבית
  2. קטגוריות בהרצה
  3. תכנות
  4. Python
  5. עזרה הדדית - Python
  6. להורדה | סקריפט python שבודק תקינות מספרי ת"ז וכרטיסי אשראי לפי ספרת ביקורת

להורדה | סקריפט python שבודק תקינות מספרי ת"ז וכרטיסי אשראי לפי ספרת ביקורת

מתוזמן נעוץ נעול הועבר עזרה הדדית - Python
9 פוסטים 5 כותבים 607 צפיות 6 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • האדם החושבה מנותק
    האדם החושבה מנותק
    האדם החושב
    מדריכים
    כתב ב נערך לאחרונה על ידי יוסי מחשבים
    #1

    בעיקרון יש את זה גם בחשבונות בנק, אם כי לא ידוע לי מה הכללים של מספר הספרות (לכן לע"ע השארתי את הפונקציה ריקה)
    המילון של חברות האשראי לא מושלם, ואני אמור להוסיף בהמשך גם פונקציה שתבדוק גם לפי הספרות הראשונות

    Corquet = "מספר תקין"
    unCorquet = "מספר לא תקין"
    
    def luhn_algorithm(num):
        number = int(num[-1]) #חלץ ספרת ביקורת
        for i in num[-2::-2]: #הכפלה ב2 לכל ספרה שניה
            i = int(i)*2
            if i > 9:
                i -=9
            number+=i
        for i in num[-3::-2]:
            number+=int(i)
        if number %10 == 0:
            print (Corquet)
        else:
            print (unCorquet)
            
    def id_number(num):
        if len(num) != 9:
            print (unCorquet)
        else:
            luhn_algorithm(num)
            
    def cradit_card(num): #פונקציה זו לא עובדת בכרטיסי אשראי של ישראכרט
        compeny = input("הזן את שם חברת האשראי באנגלית לעקיפה על שלב זה הקש אנטר\n")
        compeny_dic = {"visa":16, "mastercard" :16 ,"americanexpress":15, "diners":14}
        len_compeny = compeny_dic.get(compeny.lower())
        if compeny.lower() in compeny_dic and len(num) == len_compeny or compeny == "" and 19 > len(num) > 7:
            luhn_algorithm(num)
        elif compeny.lower() == "isracard":
            print("סקריפט זה אינו בודק כרטיסי אשראי של ישראכרט")
        elif compeny.lower() not in compeny_dic and 19 > len(num) > 7:
            not_in_dic = print("חברה זו לא נמצאת במילון, לא נוכל לבדוק לפי מספר הספרות")
            luhn_algorithm(num)
        else:
            print(unCorquet)
        
            
    def bank_acunt(num):
        pass
            
    def main(num): 
        type_of_num = input("לתעודת זהות הקש 1, לכרטיס אשראי הקש 2, לחשבון בנק הקש 3\n")
        if type_of_num == "1":
            id_number(num)
        elif type_of_num == "2":
            cradit_card(num)
        elif type_of_num == "3":
            bank_acunt(num)
        else:
            print("בחר באחת מהאפשרויות המוצעות")
            main(num)
    
    def input_number():
        while True:
            num = input("הזן מספר תעודת זהות, כרטיס אשראי או חשבון בנק\n")
            if num.isnumeric():
                main(num)
            elif num.lower() == "exit":
                break
            else:
                print("הזן ספרות בלבד")
    
    input_number()
    

    אשמח לשמוע הערות והארות

    יום_שמחי יוסי מחשביםי FSHLOMOF 3 תגובות תגובה אחרונה
    8
    • האדם החושבה האדם החושב

      בעיקרון יש את זה גם בחשבונות בנק, אם כי לא ידוע לי מה הכללים של מספר הספרות (לכן לע"ע השארתי את הפונקציה ריקה)
      המילון של חברות האשראי לא מושלם, ואני אמור להוסיף בהמשך גם פונקציה שתבדוק גם לפי הספרות הראשונות

      Corquet = "מספר תקין"
      unCorquet = "מספר לא תקין"
      
      def luhn_algorithm(num):
          number = int(num[-1]) #חלץ ספרת ביקורת
          for i in num[-2::-2]: #הכפלה ב2 לכל ספרה שניה
              i = int(i)*2
              if i > 9:
                  i -=9
              number+=i
          for i in num[-3::-2]:
              number+=int(i)
          if number %10 == 0:
              print (Corquet)
          else:
              print (unCorquet)
              
      def id_number(num):
          if len(num) != 9:
              print (unCorquet)
          else:
              luhn_algorithm(num)
              
      def cradit_card(num): #פונקציה זו לא עובדת בכרטיסי אשראי של ישראכרט
          compeny = input("הזן את שם חברת האשראי באנגלית לעקיפה על שלב זה הקש אנטר\n")
          compeny_dic = {"visa":16, "mastercard" :16 ,"americanexpress":15, "diners":14}
          len_compeny = compeny_dic.get(compeny.lower())
          if compeny.lower() in compeny_dic and len(num) == len_compeny or compeny == "" and 19 > len(num) > 7:
              luhn_algorithm(num)
          elif compeny.lower() == "isracard":
              print("סקריפט זה אינו בודק כרטיסי אשראי של ישראכרט")
          elif compeny.lower() not in compeny_dic and 19 > len(num) > 7:
              not_in_dic = print("חברה זו לא נמצאת במילון, לא נוכל לבדוק לפי מספר הספרות")
              luhn_algorithm(num)
          else:
              print(unCorquet)
          
              
      def bank_acunt(num):
          pass
              
      def main(num): 
          type_of_num = input("לתעודת זהות הקש 1, לכרטיס אשראי הקש 2, לחשבון בנק הקש 3\n")
          if type_of_num == "1":
              id_number(num)
          elif type_of_num == "2":
              cradit_card(num)
          elif type_of_num == "3":
              bank_acunt(num)
          else:
              print("בחר באחת מהאפשרויות המוצעות")
              main(num)
      
      def input_number():
          while True:
              num = input("הזן מספר תעודת זהות, כרטיס אשראי או חשבון בנק\n")
              if num.isnumeric():
                  main(num)
              elif num.lower() == "exit":
                  break
              else:
                  print("הזן ספרות בלבד")
      
      input_number()
      

      אשמח לשמוע הערות והארות

      יום_שמחי מנותק
      יום_שמחי מנותק
      יום_שמח
      כתב ב נערך לאחרונה על ידי
      #2

      @האדם-החושב מה זה אומר?
      1dac468d-301a-42ab-bbf3-9c2892ca2032-image.png

      אהבת תן לייק

      Y 2 תגובות תגובה אחרונה
      0
      • יום_שמחי יום_שמח

        @האדם-החושב מה זה אומר?
        1dac468d-301a-42ab-bbf3-9c2892ca2032-image.png

        Y מנותק
        Y מנותק
        Yehuda 1
        כתב ב נערך לאחרונה על ידי
        #3
        פוסט זה נמחק!
        תגובה 1 תגובה אחרונה
        0
        • יום_שמחי יום_שמח

          @האדם-החושב מה זה אומר?
          1dac468d-301a-42ab-bbf3-9c2892ca2032-image.png

          Y מנותק
          Y מנותק
          Yehuda 1
          כתב ב נערך לאחרונה על ידי
          #4

          @יום_שמח @יום_שמח הקוד נראה תקין בהחלט בשורה 33, תריץ באתר אחר, זה לא נראה מקצועי (שים לב לכותרת למעלה באתר)

          יום_שמחי תגובה 1 תגובה אחרונה
          0
          • Y Yehuda 1

            @יום_שמח @יום_שמח הקוד נראה תקין בהחלט בשורה 33, תריץ באתר אחר, זה לא נראה מקצועי (שים לב לכותרת למעלה באתר)

            יום_שמחי מנותק
            יום_שמחי מנותק
            יום_שמח
            כתב ב נערך לאחרונה על ידי
            #5

            @Yehuda-1 איזה אתר למשל?

            אהבת תן לייק

            Y תגובה 1 תגובה אחרונה
            0
            • יום_שמחי יום_שמח

              @Yehuda-1 איזה אתר למשל?

              Y מנותק
              Y מנותק
              Yehuda 1
              כתב ב נערך לאחרונה על ידי
              #6

              @יום_שמח
              https://www.online-python.com
              https://www.programiz.com/python-programming/online-compiler/
              https://www.onlinegdb.com/online_python_compiler
              https://www.w3schools.com/python/python_compiler.asp

              יש עוד מלא, חיפוש פשוט בגוגל

              תגובה 1 תגובה אחרונה
              1
              • האדם החושבה האדם החושב

                בעיקרון יש את זה גם בחשבונות בנק, אם כי לא ידוע לי מה הכללים של מספר הספרות (לכן לע"ע השארתי את הפונקציה ריקה)
                המילון של חברות האשראי לא מושלם, ואני אמור להוסיף בהמשך גם פונקציה שתבדוק גם לפי הספרות הראשונות

                Corquet = "מספר תקין"
                unCorquet = "מספר לא תקין"
                
                def luhn_algorithm(num):
                    number = int(num[-1]) #חלץ ספרת ביקורת
                    for i in num[-2::-2]: #הכפלה ב2 לכל ספרה שניה
                        i = int(i)*2
                        if i > 9:
                            i -=9
                        number+=i
                    for i in num[-3::-2]:
                        number+=int(i)
                    if number %10 == 0:
                        print (Corquet)
                    else:
                        print (unCorquet)
                        
                def id_number(num):
                    if len(num) != 9:
                        print (unCorquet)
                    else:
                        luhn_algorithm(num)
                        
                def cradit_card(num): #פונקציה זו לא עובדת בכרטיסי אשראי של ישראכרט
                    compeny = input("הזן את שם חברת האשראי באנגלית לעקיפה על שלב זה הקש אנטר\n")
                    compeny_dic = {"visa":16, "mastercard" :16 ,"americanexpress":15, "diners":14}
                    len_compeny = compeny_dic.get(compeny.lower())
                    if compeny.lower() in compeny_dic and len(num) == len_compeny or compeny == "" and 19 > len(num) > 7:
                        luhn_algorithm(num)
                    elif compeny.lower() == "isracard":
                        print("סקריפט זה אינו בודק כרטיסי אשראי של ישראכרט")
                    elif compeny.lower() not in compeny_dic and 19 > len(num) > 7:
                        not_in_dic = print("חברה זו לא נמצאת במילון, לא נוכל לבדוק לפי מספר הספרות")
                        luhn_algorithm(num)
                    else:
                        print(unCorquet)
                    
                        
                def bank_acunt(num):
                    pass
                        
                def main(num): 
                    type_of_num = input("לתעודת זהות הקש 1, לכרטיס אשראי הקש 2, לחשבון בנק הקש 3\n")
                    if type_of_num == "1":
                        id_number(num)
                    elif type_of_num == "2":
                        cradit_card(num)
                    elif type_of_num == "3":
                        bank_acunt(num)
                    else:
                        print("בחר באחת מהאפשרויות המוצעות")
                        main(num)
                
                def input_number():
                    while True:
                        num = input("הזן מספר תעודת זהות, כרטיס אשראי או חשבון בנק\n")
                        if num.isnumeric():
                            main(num)
                        elif num.lower() == "exit":
                            break
                        else:
                            print("הזן ספרות בלבד")
                
                input_number()
                

                אשמח לשמוע הערות והארות

                יוסי מחשביםי מנותק
                יוסי מחשביםי מנותק
                יוסי מחשבים
                צוות פיקוח
                כתב ב נערך לאחרונה על ידי
                #7

                @האדם-החושב קובץ אקסל לחישוב ספרת ביקורת:
                תעודת זהות-ספרת ביקורת.xlsx

                תגובה 1 תגובה אחרונה
                2
                • האדם החושבה האדם החושב

                  בעיקרון יש את זה גם בחשבונות בנק, אם כי לא ידוע לי מה הכללים של מספר הספרות (לכן לע"ע השארתי את הפונקציה ריקה)
                  המילון של חברות האשראי לא מושלם, ואני אמור להוסיף בהמשך גם פונקציה שתבדוק גם לפי הספרות הראשונות

                  Corquet = "מספר תקין"
                  unCorquet = "מספר לא תקין"
                  
                  def luhn_algorithm(num):
                      number = int(num[-1]) #חלץ ספרת ביקורת
                      for i in num[-2::-2]: #הכפלה ב2 לכל ספרה שניה
                          i = int(i)*2
                          if i > 9:
                              i -=9
                          number+=i
                      for i in num[-3::-2]:
                          number+=int(i)
                      if number %10 == 0:
                          print (Corquet)
                      else:
                          print (unCorquet)
                          
                  def id_number(num):
                      if len(num) != 9:
                          print (unCorquet)
                      else:
                          luhn_algorithm(num)
                          
                  def cradit_card(num): #פונקציה זו לא עובדת בכרטיסי אשראי של ישראכרט
                      compeny = input("הזן את שם חברת האשראי באנגלית לעקיפה על שלב זה הקש אנטר\n")
                      compeny_dic = {"visa":16, "mastercard" :16 ,"americanexpress":15, "diners":14}
                      len_compeny = compeny_dic.get(compeny.lower())
                      if compeny.lower() in compeny_dic and len(num) == len_compeny or compeny == "" and 19 > len(num) > 7:
                          luhn_algorithm(num)
                      elif compeny.lower() == "isracard":
                          print("סקריפט זה אינו בודק כרטיסי אשראי של ישראכרט")
                      elif compeny.lower() not in compeny_dic and 19 > len(num) > 7:
                          not_in_dic = print("חברה זו לא נמצאת במילון, לא נוכל לבדוק לפי מספר הספרות")
                          luhn_algorithm(num)
                      else:
                          print(unCorquet)
                      
                          
                  def bank_acunt(num):
                      pass
                          
                  def main(num): 
                      type_of_num = input("לתעודת זהות הקש 1, לכרטיס אשראי הקש 2, לחשבון בנק הקש 3\n")
                      if type_of_num == "1":
                          id_number(num)
                      elif type_of_num == "2":
                          cradit_card(num)
                      elif type_of_num == "3":
                          bank_acunt(num)
                      else:
                          print("בחר באחת מהאפשרויות המוצעות")
                          main(num)
                  
                  def input_number():
                      while True:
                          num = input("הזן מספר תעודת זהות, כרטיס אשראי או חשבון בנק\n")
                          if num.isnumeric():
                              main(num)
                          elif num.lower() == "exit":
                              break
                          else:
                              print("הזן ספרות בלבד")
                  
                  input_number()
                  

                  אשמח לשמוע הערות והארות

                  FSHLOMOF מנותק
                  FSHLOMOF מנותק
                  FSHLOMO
                  כתב ב נערך לאחרונה על ידי
                  #8

                  @האדם-החושב כתב בלהורדה | סקריפט python שבודק תקינות מספרי ת"ז וכרטיסי אשראי לפי ספרת ביקורת:

                  Corquet = "מספר תקין"
                  unCorquet = "מספר לא תקין"

                  def luhn_algorithm(num):
                  number = int(num[-1]) #חלץ ספרת ביקורת
                  for i in num[-2::-2]: #הכפלה ב2 לכל ספרה שניה
                  i = int(i)*2
                  if i > 9:
                  i -=9
                  number+=i
                  for i in num[-3::-2]:
                  number+=int(i)
                  if number %10 == 0:
                  print (Corquet)
                  else:
                  print (unCorquet)

                  def id_number(num):
                  if len(num) != 9:
                  print (unCorquet)
                  else:
                  luhn_algorithm(num)

                  def cradit_card(num): #פונקציה זו לא עובדת בכרטיסי אשראי של ישראכרט
                  compeny = input("הזן את שם חברת האשראי באנגלית לעקיפה על שלב זה הקש אנטר\n")
                  compeny_dic = {"visa":16, "mastercard" :16 ,"americanexpress":15, "diners":14}
                  len_compeny = compeny_dic.get(compeny.lower())
                  if compeny.lower() in compeny_dic and len(num) == len_compeny or compeny == "" and 19 > len(num) > 7:
                  luhn_algorithm(num)
                  elif compeny.lower() == "isracard":
                  print("סקריפט זה אינו בודק כרטיסי אשראי של ישראכרט")
                  elif compeny.lower() not in compeny_dic and 19 > len(num) > 7:
                  not_in_dic = print("חברה זו לא נמצאת במילון, לא נוכל לבדוק לפי מספר הספרות")
                  luhn_algorithm(num)
                  else:
                  print(unCorquet)

                  def bank_acunt(num):
                  pass

                  def main(num):
                  type_of_num = input("לתעודת זהות הקש 1, לכרטיס אשראי הקש 2, לחשבון בנק הקש 3\n")
                  if type_of_num == "1":
                  id_number(num)
                  elif type_of_num == "2":
                  cradit_card(num)
                  elif type_of_num == "3":
                  bank_acunt(num)
                  else:
                  print("בחר באחת מהאפשרויות המוצעות")
                  main(num)

                  def input_number():
                  while True:
                  num = input("הזן מספר תעודת זהות, כרטיס אשראי או חשבון בנק\n")
                  if num.isnumeric():
                  main(num)
                  elif num.lower() == "exit":
                  break
                  else:
                  print("הזן ספרות בלבד")

                  input_number()
                  אשמח לשמוע הערות והארות

                  380bd7ea-27f5-40f7-a1e6-9cb43250e899-image.png

                  tisotbzol@gmail.com

                  Y תגובה 1 תגובה אחרונה
                  0
                  • FSHLOMOF FSHLOMO

                    @האדם-החושב כתב בלהורדה | סקריפט python שבודק תקינות מספרי ת"ז וכרטיסי אשראי לפי ספרת ביקורת:

                    Corquet = "מספר תקין"
                    unCorquet = "מספר לא תקין"

                    def luhn_algorithm(num):
                    number = int(num[-1]) #חלץ ספרת ביקורת
                    for i in num[-2::-2]: #הכפלה ב2 לכל ספרה שניה
                    i = int(i)*2
                    if i > 9:
                    i -=9
                    number+=i
                    for i in num[-3::-2]:
                    number+=int(i)
                    if number %10 == 0:
                    print (Corquet)
                    else:
                    print (unCorquet)

                    def id_number(num):
                    if len(num) != 9:
                    print (unCorquet)
                    else:
                    luhn_algorithm(num)

                    def cradit_card(num): #פונקציה זו לא עובדת בכרטיסי אשראי של ישראכרט
                    compeny = input("הזן את שם חברת האשראי באנגלית לעקיפה על שלב זה הקש אנטר\n")
                    compeny_dic = {"visa":16, "mastercard" :16 ,"americanexpress":15, "diners":14}
                    len_compeny = compeny_dic.get(compeny.lower())
                    if compeny.lower() in compeny_dic and len(num) == len_compeny or compeny == "" and 19 > len(num) > 7:
                    luhn_algorithm(num)
                    elif compeny.lower() == "isracard":
                    print("סקריפט זה אינו בודק כרטיסי אשראי של ישראכרט")
                    elif compeny.lower() not in compeny_dic and 19 > len(num) > 7:
                    not_in_dic = print("חברה זו לא נמצאת במילון, לא נוכל לבדוק לפי מספר הספרות")
                    luhn_algorithm(num)
                    else:
                    print(unCorquet)

                    def bank_acunt(num):
                    pass

                    def main(num):
                    type_of_num = input("לתעודת זהות הקש 1, לכרטיס אשראי הקש 2, לחשבון בנק הקש 3\n")
                    if type_of_num == "1":
                    id_number(num)
                    elif type_of_num == "2":
                    cradit_card(num)
                    elif type_of_num == "3":
                    bank_acunt(num)
                    else:
                    print("בחר באחת מהאפשרויות המוצעות")
                    main(num)

                    def input_number():
                    while True:
                    num = input("הזן מספר תעודת זהות, כרטיס אשראי או חשבון בנק\n")
                    if num.isnumeric():
                    main(num)
                    elif num.lower() == "exit":
                    break
                    else:
                    print("הזן ספרות בלבד")

                    input_number()
                    אשמח לשמוע הערות והארות

                    380bd7ea-27f5-40f7-a1e6-9cb43250e899-image.png

                    Y מנותק
                    Y מנותק
                    Yehuda 1
                    כתב ב נערך לאחרונה על ידי Yehuda 1
                    #9

                    @FSHLOMO הרצת את זה כולל השורה "אשמח לשמוע הערות והארות", תעתיק רק את הקוד ותנסה שוב
                    490e7faa-a297-4905-9602-b9b167b0b251-image.png

                    תגובה 1 תגובה אחרונה
                    0

                    • התחברות

                    • אין לך חשבון עדיין? הרשמה

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