एक हालिया डेली डब्ल्यूटीएफ लेख से प्रेरित ...
एक प्रोग्राम या फ़ंक्शन लिखें जो GUID लेता है (प्रारूप में स्ट्रिंग XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX, जहां प्रत्येक X एक हेक्साडेसिमल अंक का प्रतिनिधित्व करता है), और एक से बढ़े हुए GUID को आउटपुट करता है।
उदाहरण
>>> increment_guid('7f128bd4-b0ba-4597-8f35-3a2f2756dfbb')
'7f128bd4-b0ba-4597-8f35-3a2f2756dfbc'
>>> increment_guid('06b86883-f3e7-4f9d-87c5-a047e89a19fa')
'06b86883-f3e7-4f9d-87c5-a047e89a19fb'
>>> increment_guid('89f25f2f-2f7b-4aa6-b9d7-46a98e3cb2cf')
'89f25f2f-2f7b-4aa6-b9d7-46a98e3cb2d0'
>>> increment_guid('89f25f2f-2f7b-4aa6-b9d7-46a98e3cb29f')
'89f25f2f-2f7b-4aa6-b9d7-46a98e3cb2a0'
>>> increment_guid('8e0f9835-4086-406b-b7a4-532da46963ff')
'8e0f9835-4086-406b-b7a4-532da4696400'
>>> increment_guid('7f128bd4-b0ba-4597-ffff-ffffffffffff')
'7f128bd4-b0ba-4598-0000-000000000000'
टिप्पणियाँ
- लिंक किए गए लेख के विपरीत, एफ में समाप्त होने वाले GUID को बढ़ाकर पिछले हेक्स अंक को "कैरी" करना चाहिए। ऊपर के उदाहरण देखें।
- आप मान सकते हैं कि इनपुट नहीं होगा
ffffffff-ffff-ffff-ffff-ffffffffffff। - 9 से ऊपर के हेक्स अंकों के लिए, आप ऊपरी (AF) या निचले (af) केस का उपयोग कर सकते हैं।
- हाँ, GUIDs a से शुरू हो सकते हैं
0। - आपका आउटपुट से मिलकर चाहिए वास्तव में 32 हेक्स अंक और उम्मीद प्रारूप में 4 हाइफ़न, किसी भी आवश्यक प्रमुख सहित
0रों। - आपको GUID के संस्करण संख्या या अन्य निश्चित बिट्स को संरक्षित करने की आवश्यकता नहीं है। मान लें कि यह केवल 128-बिट पूर्णांक है जहां बिट्स में से कोई भी विशेष अर्थ नहीं है। इसी तरह, GUID को एक Windows
GUIDसंरचना के द्विआधारी क्रम के बजाय सीधे लेक्सोग्राफिक क्रम में क्रमबद्ध करने के लिए माना जाता है । - यदि एक समारोह लेखन, इनपुट किसी भी क्रम के- का हो सकता है
charडेटा प्रकार:string,char[],List<char>, आदि
GUIDसंरचना के द्विआधारी क्रम के बजाय सीधे शाब्दिक क्रम में क्रमबद्ध करने के लिए माना जाता है ।
89f25f2f-2f7b-4aa6-b9d7-46a98e3cb29fयह सुनिश्चित करने के लिए कि उत्तर संक्रमण कर सकते हैं 9 -> a।
foreach (char ch in theInput)मान्य है।