आपके दादा दादी के दिन में, इस तरह एक रोटरी डायल के साथ एक फोन नंबर डायल किया गया था :
प्रत्येक अंक को डायल करने के लिए, अपनी उंगली को इसी छेद में रखें, इसे उंगली के स्टॉप पर खींचें, और इसे छोड़ दें। एक तंत्र डायल को अपनी आराम की स्थिति में वापस स्पिन करने का कारण होगा, और फोन एक सर्किट को कई बार डिस्कनेक्ट और पुन: कनेक्ट करेगा, जिससे श्रव्य क्लिक हो सकते हैं।
अंक N को डायल करने के लिए N की आवश्यकता है जैसे कि "दालों" को छोड़कर N = 0 जो कि दस दालों की है।
रोटरी फोन में वह गुण होता है जो बड़े अंकों (8, 9, 0) को छोटे अंकों (1, 2, 3) से अधिक समय तक डायल करने में लेता है। प्रारंभिक क्षेत्र कोड मानचित्रों को खींचने में यह एक महत्वपूर्ण विचार था, और इसकी भारी आबादी (और फोन लाइन) घनत्व के साथ न्यूयॉर्क सिटी को 212 (केवल 5 दालें) क्यों मिलीं , जबकि 907 (26 दालों) अलास्का में काफी हद तक चली गईं। बेशक, यह सब तब अप्रासंगिक हो गया जब टच-टोन डायलिंग लोकप्रिय हो गई।
चुनौती
जितना संभव हो, कुछ बाइट्स में लिखें, एक प्रोग्राम या फ़ंक्शन जो इनपुट के रूप में एक स्ट्रिंग (या वर्णों का क्रम) लेता है जिसमें एक टेलीफोन नंबर होता है, और इसकी संख्या रोटरी डायल दालों को आउटपुट करता है। इन्हें इस प्रकार गिना जाना चाहिए:
अंक
- अंक 1-9 को दालों की संख्या के रूप में गिना जाता है।
- अंक 0 10 दालों के रूप में गिना जाता है।
पत्र
ध्यान दें कि डायल पर अंक 2-9 में लैटिन वर्णमाला के अक्षर उनके साथ जुड़े हुए हैं। ये मूल रूप से नामित एक्सचेंजों के लिए अभिप्रेत थे , लेकिन बाद में फोनवार्ड के लिए पुन: विनियोजित किए गए थे , और पाठ संदेश इनपुट सिस्टम के लिए।
आपको अपने फ़ोन नंबर में अक्षरों का समर्थन करना चाहिए, अंकों के लिए E.161 असाइनमेंट का उपयोग करते हुए :
- ए, बी, सी = 2
- डी, ई, एफ = 3
- जी, एच, आई = 4
- जे, के, एल = ५
- एम, एन, ओ = 6
- पी, क्यू, आर, एस = 7
- टी, यू, वी = 8
- डब्ल्यू, एक्स, वाई, जेड = 9
आप मान सकते हैं कि इनपुट पहले से ही केस-फोल्ड हो चुका है, ऊपरी या निचले मामले में।
अन्य कैरेक्टर
आपको चरित्रों और स्थान के मनमाने ढंग से उपयोग को विभाजकों को स्वरूपित करने की अनुमति देनी चाहिए()+-./
। इस प्रयोजन के लिए किसी भी गैर-अल्फ़ान्यूमेरिक वर्ण की अनुमति देने के लिए आपने चुना हो सकता है , अगर इसे लागू करना आसान हो।
ये वर्ण नाड़ी गणना में योगदान नहीं करते हैं।
उदाहरण कोड
पायथन में एक गैर-गोल्फ लुकअप टेबल और फंक्शन:
PULSES = {
'1': 1,
'2': 2, 'A': 2, 'B': 2, 'C': 2,
'3': 3, 'D': 3, 'E': 3, 'F': 3,
'4': 4, 'G': 4, 'H': 4, 'I': 4,
'5': 5, 'J': 5, 'K': 5, 'L': 5,
'6': 6, 'M': 6, 'N': 6, 'O': 6,
'7': 7, 'P': 7, 'Q': 7, 'R': 7, 'S': 7,
'8': 8, 'T': 8, 'U': 8, 'V': 8,
'9': 9, 'W': 9, 'X': 9, 'Y': 9, 'Z': 9,
'0': 10
}
def pulse_count(phone_num):
return sum(PULSES.get(digit, 0) for digit in phone_num)
उदाहरण इनपुट और आउटपुट
911
→ 11867-5309
→ 48713 555 0123
→ 42+1 (212) PE6-5000
→ 571-800-FLOWERS
→ 69PUZZLES
→ 48
*
और #
, जिनके टच-टोन फोन पर विशेष अर्थ हैं और रोटरी पर डायल करने योग्य नहीं हैं।
+- ()*#.
) के लिए उपयोग किए जाते हैं जैसे अक्षर अपरकेस तक सीमित हैं। यदि मैं गलत हूं तो मुझे सही करों।