Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

क्रेडिट कार्ड नंबर जांचने के लिए पायथन प्रोग्राम मान्य है या नहीं

मान लीजिए हमारे पास क्रेडिट कार्ड नंबर है। हमें यह जांचना होगा कि कार्ड नंबर वैध है या नहीं। कार्ड नंबरों में कुछ गुण होते हैं -

  • यह 4, 5 और 6 से शुरू होगा

  • यह 16 अंक लंबा होगा

  • संख्याओं में केवल अंक होने चाहिए

  • इसमें चार समूहों में अंक हो सकते हैं जिन्हें '-' से अलग किया जाता है

  • इसे स्पेस या अंडरस्कोर जैसे किसी अन्य विभाजक का उपयोग नहीं करना चाहिए

  • इसमें 4 या अधिक लगातार समान अंक नहीं होने चाहिए

इसलिए, यदि इनपुट s ="5423-2578-8632-6589" जैसा है, तो आउटपुट सही होगा

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • यदि s में '-' की संख्या 0 से अधिक है, तो
    • a :="-" द्वारा अलग किए गए भागों की सूची
    • p:=1
    • यदि a का आकार 4 के समान नहीं है, तो
      • p:=शून्य
      • a:=रिक्त सूची
    • प्रत्येक b के लिए a, do
      • यदि b का आकार 4 के समान नहीं है, तो
        • p:=शून्य
        • लूप से बाहर आएं
  • अन्यथा,
    • p :=एक विकल्प खोजें जो 4 या 5 या 6 से शुरू हो रहा हो और शेष 15 अंकों की संख्या लंबी हो
    • s :="-" को s से हटा दें
    • q :=खोज सबस्ट्रिंग जहां 4 या अधिक लगातार वर्ण समान हैं
    • यदि p रिक्त नहीं है और q शून्य है, तो
      • सही लौटें
    • अन्यथा,
      • झूठी वापसी

उदाहरण

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें

import re

def solve(s):
   if s.count("-")>0:
      a = s.split("-")
      p=1
      if len(a)!=4:
         p=None
         a=[]
      for b in a:
         if len(b)!=4:
            p=None
            break
         else:
            p = re.search("[456][0-9]{15}",s)
         s = s.replace("-","")
         q = re.search(".*([0-9])\\1{3}.*",s)

         if p!=None and q==None:
            return True
         else:
            return False

s = "5423-2578-8632-6589"
print(solve(s))

इनपुट

"5423-2578-8632-6589"

आउटपुट

False

  1. ढेर की जाँच करने का कार्यक्रम पायथन में अधिकतम ढेर बना रहा है या नहीं

    मान लीजिए कि हमारे पास ढेर के पेड़ का प्रतिनिधित्व करने वाली एक सूची है। जैसा कि हम जानते हैं कि हीप एक पूर्ण बाइनरी ट्री है। हमें यह जांचना है कि तत्व अधिकतम ढेर बना रहे हैं या नहीं। जैसा कि हम जानते हैं कि अधिकतम ढेर के लिए प्रत्येक तत्व अपने दोनों बच्चों से बड़ा होता है। इसलिए, यदि इनपुट nums =[

  1. प्राइम नंबर चेक करने के लिए पायथन प्रोग्राम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक नंबर दिया गया है, हमें यह जांचना होगा कि दी गई संख्या एक अभाज्य संख्या है या नहीं। 1 से बड़ी दी गई धनात्मक संख्या जिसका 1 के अलावा कोई अन्य गुणनखंड नहीं है और संख्या ही अभाज्य संख्या कहलाती है। 2, 3, 5, 7, आ

  1. आर्मस्ट्रांग नंबर की जांच के लिए पायथन प्रोग्राम

    इस लेख में, हम दिए गए समस्या कथन को हल करने के लिए समाधान और दृष्टिकोण के बारे में जानेंगे। समस्या कथन एक पूर्णांक n दिया गया है, हमें यह जांचना होगा कि दिया गया पूर्णांक एक आर्मस्ट्रांग संख्या है। एक धनात्मक पूर्णांक को आर्मस्ट्रांग क्रमांक n कहा जाता है यदि abcd... = a^n + b^n + c^n + d^n + &hel