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

पायथन में नींबू पानी बदलें

मान लीजिए कि एक नींबू पानी स्टैंड है, प्रत्येक नींबू पानी की कीमत $ 5 है। अब ग्राहक स्टोर से खरीदारी करने और एक-एक करके ऑर्डर करने के लिए कतार में खड़े हैं।

प्रत्येक ग्राहक केवल एक नींबू पानी खरीद सकता है और $ 5, $ 10 या $ 20 बिल के साथ भुगतान कर सकता है। हमें प्रत्येक ग्राहक को सही परिवर्तन प्रदान करना होगा, ताकि शुद्ध लेनदेन यह हो कि ग्राहक $ 5 का भुगतान करे। और सबसे पहले, हमारे हाथ में कोई बदलाव नहीं है।

हमें यह जांचना होगा कि क्या हम प्रत्येक ग्राहक को सही परिवर्तन प्रदान कर सकते हैं।

इसलिए, यदि इनपुट [5,5,5,10,20] जैसा है, तो आउटपुट ट्रू होगा, जैसा कि पहले 3 ग्राहकों से, हम क्रम में तीन $5 बिल प्राप्त कर सकते हैं। चौथे से, हम $10 का बिल जमा करते हैं और $5 वापस देते हैं। उसके बाद पांचवें ग्राहक से, हम $10 का बिल और एक $5 का बिल देते हैं। जैसा कि सभी ग्राहकों को सही परिवर्तन मिला, हम सही आउटपुट देते हैं।

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

  • n5:=0, n10:=0, n20:=0
  • बिल में प्रत्येक i के लिए, करें
    • यदि मैं 5 के समान हूं, तो
      • n5 :=n5 + 1
    • अन्यथा जब मैं 10 के समान हो, तो
      • n10:=n10 + 1
    • अन्यथा n20 :=n20 + 1
    • यदि बिलों का आकार> 0 और n5 0 के समान है, तो
      • झूठी वापसी
    • यदि मैं 20 और n10> 0 और n5> 0 के समान है, तो
      • n10:=n10 - 1
      • n5 :=n5 - 1
    • अन्यथा जब मैं 20 के समान हो और n10 0 और n5 <3 के समान हो, तो
      • झूठी वापसी
    • अन्यथा जब मैं 20 के समान हो और n10 0 के समान हो और n5>=3, तब
      • n5 :=n5 -3
    • यदि मैं 10 और n5> 0 के समान है, तो
      • n5 :=n5 - 1
    • अन्यथा जब मैं 10 के समान हो और n5 0 के समान हो, तो
      • झूठी वापसी
  • सही लौटें

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

उदाहरण

class Solution:
   def lemonadeChange(self, bills):
      n5 = 0
      n10 = 0
      n20 = 0
      for i in bills:
         if i == 5:
            n5 += 1
         elif i == 10:
            n10 += 1
         else:
            n20 += 1
         if len(bills) > 0 and n5 == 0:
            return(False)
         if i == 20 and n10 > 0 and n5 > 0:
            n10 -= 1
            n5 -= 1
         elif i == 20 and n10 == 0 and n5 < 3:
            return(False)
         elif i == 20 and n10 == 0 and n5 >= 3:
            n5 = n5 -3
         if i == 10 and n5 > 0:
            n5 -= 1
         elif i == 10 and n5 == 0:
            return (False)
      return(True)
ob = Solution()
print(ob.lemonadeChange([5,5,5,10,20]))

इनपुट

[5,5,5,10,20]

आउटपुट

True

  1. Matplotlib (अजगर) में फोंट कैसे बदलें?

    plt.text() पद्धति का उपयोग करके, हम फ़ॉन्ट का आकार बढ़ा सकते हैं। कदम plt.plot() विधि का उपयोग करके, हम दो सूचियों के साथ एक पंक्ति बना सकते हैं जो इसके तर्क में पारित हो जाती हैं। कुल्हाड़ियों में पाठ जोड़ें। plt.text() विधि का उपयोग करके डेटा निर्देशांक में *x*, *y* स्थान पर अक्षों में *s* ट

  1. सिक्का परिवर्तन के लिए पायथन कार्यक्रम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एन सिक्के दिए गए हैं और हम उन सिक्कों में बदलाव करना चाहते हैं, जैसे कि एस में प्रत्येक मूल्य की अनंत आपूर्ति है। हमें यह प्रदर्शित करने की आवश्यकता है कि हम कितने तरीकों से बदलाव कर सकते हैं, क्रम के बावजूद। हम

  1. issuperset () पायथन में

    इस लेख में, हम पायथन में issuperset() और विभिन्न क्षेत्रों में इसके कार्यान्वयन के बारे में जानेंगे। यह विधि बूलियन ट्रू लौटाती है यदि एक सेट बी के सभी तत्वों में सभी तत्व सेट ए होते हैं जो एक तर्क के रूप में पारित होते हैं और यदि ए के सभी तत्व बी में मौजूद नहीं होते हैं तो झूठा रिटर्न देता है। इस