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

पायथन में रोमन अंक को पूर्णांक में बदलने का कार्यक्रम?

मान लीजिए हमारे पास रोमन अंक है; हमें इसे संख्या में बदलना होगा। जैसा कि हम जानते हैं कि रोमन अंक को बाएं से दाएं सबसे बड़े से कम से कम प्रतीकों द्वारा दर्शाया जाता है, केवल एक अपवाद तब होता है जब एक प्रतीक से कम का प्रतिनिधित्व करता है। कुछ रोमन अंकों के प्रतीक अर्थ इस प्रकार हैं:

  • 'एम':1000

  • 'डी':500

  • 'सी':100

  • 'एल':50

  • 'एक्स':10

  • 'वी':5

  • 'मैं':1

इसलिए, यदि इनपुट अंक ="एमसीएलएक्सवीआई" जैसा है, तो आउटपुट 1166 होगा, क्योंकि एम =1000, सी =100, कुल 1100 है, फिर एल =50, एक्स =10, VI =6 तो कुल 1166 है।

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

ऊपर बताए अनुसार अंक सूची लें

  • उत्तर :=0

  • n :=अंक का आकार

  • प्रत्येक अनुक्रमणिका idx और मान c अंक के लिए, करें

    • अगर idx

      • उत्तर:=उत्तर - डी [सी]

    • अन्यथा,

      • उत्तर:=उत्तर + डी [सी]

  • वापसी उत्तर

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

उदाहरण

class Solution:
   def solve(self, numeral):
      d = {"M": 1000, "D": 500, "C": 100, "L": 50, "X": 10, "V": 5, "I": 1}
      ans = 0
      n = len(numeral)
      for (idx, c) in enumerate(numeral):
         if idx < n - 1 and d[c] < d[numeral[idx + 1]]:
            ans -= d[c]
         else:
            ans += d[c]
      return ans

ob = Solution()
numeral = "MCLXVI"
print(ob.solve(numeral))

इनपुट

"MCLXVI"

आउटपुट

1166

  1. किलोमीटर को मील में बदलने के लिए पायथन कार्यक्रम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें किलोमीटर में दूरी दी गई है और हमें इसे मील में बदलने की जरूरत है जैसा कि हम जानते हैं कि 1 किलोमीटर 0.62137 मील के बराबर होता है। प्रयुक्त सूत्र Miles = kilometer * 0.62137 आइए अब नीचे दिए गए कार्यान्वयन में अ

  1. हेक्स स्ट्रिंग को दशमलव में बदलने के लिए पायथन प्रोग्राम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक हेक्साडेसिमल स्ट्रिंग दी गई है, हमें इसे इसके दशमलव समकक्ष में बदलने की जरूरत है। समस्या को हल करने के लिए हमारे पास दो दृष्टिकोण हैं- क्रूर-बल दृष्टिकोण अंतर्निहित मॉड्यूल का उपयोग करना ब्रूट-फोर्स मेथड

  1. पायथन में एक पूर्णांक को एक वर्ण में कैसे परिवर्तित करें?

    पायथन का बिल्ट-इन फंक्शन chr() 0 से 0x10ffff के बीच एक पूर्णांक के समतुल्य एक यूनिकोड वर्ण देता है। >>> chr(a) 'd' >>> chr(300) 'Ĭ' >>> chr(65) 'A'