संपर्क पुस्तिका
Pip अरे! मेरे संपर्क छह स्टेशनों पर बिखरे हुए हैं और मैं उनका हिसाब-किताब खोता रहता हूँ। नंबर, ईमेल, सब जगह बिखरे हुए हैं। क्या आप एक सरल संपर्क पुस्तिका बना सकते हैं जिसे मैं टर्मिनल में चला सकूँ? लोगों को जोड़ें, नाम से खोजें, सबको सूचीबद्ध करें। कुछ फैंसी नहीं, बस कुछ ऐसा जो वास्तव में काम करे 🙏
आप क्या बना रहे हैं
Commands: add / search / list / quit
> add
Name: आरव शर्मा
Phone: 07700 900123
Email: [email protected]
Saved.
> search
Name: आरव
आरव शर्मा — 07700 900123 — [email protected]
> list
1. आरव शर्मा — 07700 900123
2. ...
> quitआपको क्या चाहिए होगा
- Dictionaries — प्रत्येक संपर्क एक डिक्शनरी है; संपर्क पुस्तिका उनकी एक सूची है
- Lists — सभी संपर्क एक साथ एक सूची में जिसमें आप लूप कर सकते हैं
- Functions — प्रत्येक कमांड के लिए एक फंक्शन चीजों को साफ और पठनीय रखता है
- Control flow — एक लूप जो तब तक चलता है जब तक उपयोगकर्ता "quit" टाइप नहीं करता
- Strings — केस-असंवेदनशील खोज, नाम स्वरूपण
संकेत
प्रत्येक संपर्क को एक डिक्शनरी के रूप में संग्रहीत करें। "name", "phone", "email" जैसी कुंजियाँ। सभी संपर्कों को लूप के बाहर एक सूची में रखें ताकि वे कमांडों के बीच बने रहें।
एक कमांड जाँच के साथ while लूप स्वाभाविक संरचना है। कमांड पढ़ें, सही फंक्शन कॉल करें, दोहराएँ। जब उपयोगकर्ता "quit" टाइप करे तो बाहर निकलें।
खोज के लिए, आंशिक मिलान सटीक से अधिक उपयोगी है। यह जाँचना कि क्या खोज शब्द नाम में कहीं भी आता है — केस-असंवेदनशील रूप से — का अर्थ है "आरव" "आरव शर्मा" को ढूंढ लेगा।
आगे बढ़ना
एक बार जब मुख्य लूप काम करने लगे:
- सहेजें और लोड करें। जब उपयोगकर्ता बाहर निकले, तो सभी संपर्कों को एक JSON फ़ाइल में लिखें। जब स्क्रिप्ट शुरू हो, तो यदि वह फ़ाइल मौजूद हो तो उसे लोड करें। इसके लिए files अध्याय की आवश्यकता है।
- एक संपर्क हटाएँ। एक
deleteकमांड जोड़ें जो नाम से एक संपर्क को हटा देता है। - क्रमबद्ध सूची। प्रिंट करने से पहले सूची आउटपुट को नाम के अनुसार वर्णानुक्रम में क्रमबद्ध करें।

