0:00 हाय एवरीवन एंड वेलकम टू द कंप्लीट Python क्रैश कोर्स जिसके अंदर हम Python के वन ऑफ़ द मोस्ट इंपोर्टेंट प्रोग्रामिंग कॉन्सेप्ट्स को कवर करने वाले हैं। अ Python इज़ अ रियली वर्सटाइल लैंग्वेज। काफी सारी लार्ज ऑर्गेनाइजेशनंस के अंदर ये यूज़ होती है वेदर इट बी Microsoft, Google, Amazon, YouTube, Instagram एंड मेनी अदर ऑर्गेनाइजेशनंस आउट देयर। एंड Python एस्पेशली इन द एआई एरा और भी काफी ज्यादाेंट हो गई है। पाइthन को यूज़ करके हम आर्टिफिशियल इंटेलिजेंस, मशीन लर्निंग हो गया, डेटा साइंस हो गया या इनफैक्ट डेवलपमेंट को भी कर सकते हैं विद [संगीत] फ्रेमवर्क्स लाइक जेंगो एंड फ्लास्क। तो आज के सेशन के अंदर हम पाइथन के वन ऑफ द मोस्टेंट कॉन्सेप्ट्स को कवर करेंगे। [संगीत] एंड दिस सेशन इज़ फॉर एवरीवन। मतलब वेदर वी आर समबडी जो फर्स्ट टाइम किसी प्रोग्रामिंग लैंग्वेज को सीख रहे हैं या फिर हम ऐसे स्टूडेंट हैं जिसने थोड़ी बहुत कोई प्रोग्रामिंग की हुई है या फिर वी आर अ वर्किंग प्रोफेशनल जिसको ऑलरेडी दूसरी प्रोग्रामिंग लैंग्वेज आती हैं जैसे जावास्क्रिप्ट हो गई, C++s हो गई, जावा हो गई। हम सब आकर आज के सेशन [संगीत] से Python को पढ़ सकते हैं एंड उसको अंडरस्टैंड कर सकते हैं। आज का सेशन इज़ गोइंग टू बी रियली बिगिनर फ्रेंडली एंड देयर आर गोइंग टू बी नो प्रीरक्व्विज़िट्स। सो दिस क्रैश कोर्स [संगीत] इज़ डिवाइडेड 1:00 इंटू सिक्स पार्ट्स। एंड इन सिक्स पार्ट्स को हम अपने सिक्स लेवल्स की तरह समझ सकते हैं। सो, वी विल स्टार्ट विद द फंडामेंटल्स। एंड एक-एक पार्ट के अंदर हम धीरे-धीरे पाइथन में लेवल अप करते जाएंगे अपनी प्रोग्रामिंग [संगीत] स्किल्स को एंड अपने कोडिंग स्किल्स को। उसके साथ में देयर आर गोइंग टू बी सेवन प्रैक्टिस एक्सरसाइजज़ जिससे जितने भी कांसेप्ट्स आज हम सीख रहे हैं उनको हम सेल्फ प्रैक्टिस [संगीत] भी करेंगे। प्लस हम दो मिनी प्रोजेक्ट्स को यूजिंग पाइthon आज के ही सेशन के अंदर बिल्ड करने वाले हैं। जिससे हमें पता चलेगा कि जितने भी पाइthन के अंदर हम कांसेप्ट्स को सीख रहे हैं उनको लॉजिकली प्रोग्रामिंग [संगीत] में किस तरीके से हम अप्लाई कर सकते हैं। प्लस जितना भी हमारा आज का कोड होगा, जितने भी हमारे आज के लेक्चर्स के कांसेप्ट्स होंगे जिनको हम कवर करेंगे। एंड द सॉलशंस [संगीत] फॉर ऑल द प्रैक्टिस असाइनमेंट्स ये सारी की सारी चीजें हमें ऑलरेडी नीचे डिस्क्रिप्शन [संगीत] बॉक्स के अंदर मिल गई होंगी। तो नीचे डिस्क्रिप्शन बॉक्स के अंदर देयर इज गोइंग टू बी अ कंप्लीट लिंक फॉर ऑल ऑफ दीज़ रिसोर्सेज जिसको जाकर हम डाउनलोड भी कर सकते हैं। अब Python का कोड लिखने से पहले देयर आर टूेंट थिंग्स जिनको हमें अपने लैपटॉप के अंदर सेटअप करना पड़ेगा व्हिच इज़ Python [संगीत] एंड अ कोड एडिटर। कोड एडिटर के लिए हम 1:59 विज़ुअल स्टूडियो कोड को इंस्टॉल करने वाले हैं। बिकॉज़ इट इज़ फ्री [संगीत] टू यूज़। इट इज़ ओपन सोर्स। इट इज बिल्ट बाय Microsoft एंड मिलियंस ऑफ प्रोग्रामर्स ऑल ओवर द वर्ल्ड वीएस कोड को यूज़ करते हैं। तो उसी को भी हम अपने सिस्टम के अंदर इंस्टॉल करने वाले हैं। सो वी हैव कवर्ड द कंप्लीट स्टेप बाय स्टेप प्रोसेस ऑफ इंस्टॉलिंग Python एंड इंस्टॉलिंग वीएस कोड ऑन आवर सिस्टम बोथ फॉर Windows यूज़र्स एंड फॉर मैक यूज़र्स। अगर हम ऐसे स्टूडेंट हैं जिसके पास ऑलरेडी पाइथन इंस्टॉल्ड है। अगर हमारे पास विजुअल स्टूडियो कोड भी इंस्टॉल्ड है तो हम डायरेक्टली जाकर इस टाइम स्टैंप से अपने लेक्चर को अपने क्रैश कोर्स को स्टार्ट कर सकते हैं। नहीं तो इफ वी आर समबडी जो फर्स्ट टाइम Python एंड वीएस कोड को इंस्टॉल कर रहे हैं तो वी कैन स्टार्ट विद द इंस्टॉलेशन अकॉर्डिंग टू आवर सिस्टम। तो सबसे पहले वी आर गोइंग टू स्टार्ट विद Python इंस्टॉलेशन। फर्स्ट वी विल इंस्टॉल इट ऑन अ मैक्स सिस्टम एंड देन ऑन अ Windows सिस्टम। तो मैक्स सिस्टम के लिए वी हैव टू सिंपली गो ऑन द ब्राउज़र एंड सर्च फॉर डाउनलोड Python. जो फर्स्ट लिंक हमारे पास आएगा उस लिंक को हमें क्लिक करना है। एंड दिस लिंक विल बी Python डॉटorg डाउनलोड्स। यहां पर डाउनलोड्स पर जाकर टॉप में हमें एक बटन दिख रहा होगा व्हिच इज़ टू डाउनलोड द लेटेस्ट Python 2:56 वर्जन। हो सकता है इफ यू वाचिंग दिस लेक्चर लेटर तो ये लेटेस्ट वर्जन चेंज हो जाए। पर जो भी टॉप लेटेस्ट वर्जन Python का हमारे पास होगा उसी को हमें डाउनलोड करना है। वी विल क्लिक ऑन द बटन एंड इट विल डाउनलोड अ फाइल फॉर अस। तो इस पैकेज को हम सेव कर लेंगे। जैसे ही डाउनलोड कंप्लीट हो जाएगा, वी विल डबल क्लिक हियर एंड उसके बाद द इंस्टॉलेशन प्रोसेस इज़ गोइंग टू स्टार्ट। वी विल क्लिक ऑन कंटिन्यू कंटिन्यू एंड अग्री टू ऑल द टर्म्स। उसके बाद इंस्टॉल करने के लिए वी हैव टू एंटर आवर पासवर्ड। उसको हम एंटर कर देंगे। तो हमारी इंस्टॉलेशन सारे के सारे स्क्रिप्ट्स एंड फाइल्स की स्टार्ट हो जाएगी। वी कैन क्लोज़ दिस। एंड फाइनली हमारा इंस्टॉलेशन सक्सेसफुली हो गया है। वी विल क्लोज़ द विंडो एंड मूव द इंस्टॉलर टू द बिन। अब वेरीफाई करने के लिए कि Python सक्सेसफुली सिस्टम पे डाउनलोड हुई है या नहीं। वी विल ओपन द टर्मिनल फ्रॉम आवर मैक सिस्टम एंड वहां पर वी आर गोइंग टू टाइप अ कमांड Python 3 hfन hfन वर्जन। तो जैसे ही Python का कोई वैलिड वर्जन हमारे पास स्क्रीन पर प्रिंट होकर आ जाएगा उसका मतलब है कि Python सक्सेसफुली हमारे सिस्टम के अंदर डाउनलोड एंड सेटअप हो चुका है। नाउ लेट्स स्टार्ट विद द Windows इंस्टॉलेशन ऑफ़ Python। हमें ब्राउज़र पर जाना है। वी हैव टू सर्च फॉर डाउनलोड Python। जो भी टॉप लिंक हमारे पास आएगा 3:58 उसको हम क्लिक करेंगे। दिस विल बी Python. डाउनलोड्स। अब Python को डाउनलोड करने के दो तरीके हैं ऑन Windows सिस्टम। हम स्टैंड अलोन इंस्टॉलर के थ्रू Python को डाउनलोड करने वाले हैं। जिसके लिए वी हैव टू क्लिक ऑन द लेटेस्ट वर्जन ऑफ़ Python जो हमें दिखाई दे रहा है। वी विल नॉट यूज़ द इंस्टॉल मैनेजर। हमें डायरेक्टली Python का जो भी लेटेस्ट वर्जन हाईलाइटेड है उस पर क्लिक करना है। एंड इट विल आस्क अस टू सेव दex फाइल। इसको हम सेव कर देंगे एंड हमारे लिए फाइल डाउनलोड हो जाएगी। उसके बाद वी हैव टू डबल क्लिक एंड ओपन इट। तो पूरा इंस्टॉलर विंडो हमारे पास आ जाएगा। अब इस विंडो के अंदर हमारे पास दो ऑप्शंस हैं जिसको हमें टिक करना है। सबसे पहला ऑप्शन है टू ऐड Python.exe टू पाथ एंड सेकंड वन इज़ टू गिव इट एडमिन प्रिविलजेस। दोनों ऑप्शंस को हमें टिक करना है। उसके बाद वी आर गोइंग टू क्लिक ऑन इंस्टॉल नाउ। जैसे ही हम इंस्टॉल नाउ पर क्लिक करेंगे हमारा सिस्टम हो सकता है हमसे एडमिन प्रिविलजेस मांगे। तो वहां पर हमें यस एंड नो का ऑप्शन दिखेगा। वी हैव टू क्लिक ऑन यस। जैसे ही हम यस पर क्लिक करेंगे हमारा डाउनलोड स्टार्ट हो जाएगा। वी कैन आल्सो लुक एट द प्रोग्रेस बाय क्लिकिंग ऑन द ऐप एंड जैसे ही द प्रोग्रेस गोइंग टू कंप्लीट 5:00 द सेटअप इज़ नाउ सक्सेसफुल वी विल क्लोज इट एंड अपने इंस्टॉलेशन को वेरीफाई करने के लिए वी विल गो टू आवर एप्स वहां पर जाकर वी विल सर्च फॉर टर्मिनल टर्मिनल को हम ओपन करेंगे एंड टर्मिनल के अंदर हम एक कमांड टाइप कर सकते हैं व्हिच इज़ Python hfन hइफन वर्जन टू चेक द वर्जन ऑफ़ Python इंस्टॉल्ड इन आवर सिस्टम। अगर कोई वैलिड वर्ज़न हमारे पास प्रिंट हो कर आ जाता है, मतलब Python सक्सेसफुली सिस्टम के अंदर सेटअप हो गया है। हमारे पास एक और अल्टरनेट कमांड भी होती है व्हिच इज़ Python 3 Hन Hन वर्ज़न। उसमें भी हमारे पास सेम ही वर्ज़न प्रिंट होकर आएगा। एंड वी हैव सक्सेसफुली सेट अप Python इन आवर सिस्टम। नाउ वी आर गोइंग टू कवर द इंस्टॉलेशन एंड सेटअप ऑफ़ विजुअल स्टूडियो कोड ऑन आवर सिस्टम। तो सबसे पहले हम मैक्स सिस्टम्स के लिए कवर करेंगे। एंड देन फॉर Windows। तो मैक सिस्टम के लिए वी कैन सिंपली गो ऑन द ब्राउज़र। सर्च फॉर डाउनलोड Visual Stud कोड। जो भी टॉप लिंक हमारे पास आएगा उस पर हमें क्लिक करना है। दिस लिंक विल बी code. Visual studio.com डाउनलोड्स। वी कैन गो ऑन द मैक सिस्टम। अब अगर हम Windows पर हैं हम Windows के लिए भी डायरेक्टली कर सकते हैं। Linux के लिए कर सकते हैं। Mac के लिए कर सकते हैं। डिपेंडिंग अपॉन हम Intel चिप यूज़ कर रहे हैं। Apple सिलिकॉन यूज़ कर रहे हैं। उसके बेसिस पर हम सेलेक्ट कर सकते हैं। नहीं तो 5:56 वी कैन डायरेक्टली क्लिक ऑन द डाउनलोड ऑप्शन। डाउनलोड बटन पर जब हम क्लिक करेंगे तो इट विल आस्क अस टू सेव द पैकेज। जैसे ही हमारा पैकेज डाउनलोड हो जाएगा उस पर हमें डबल क्लिक करना है एंड वी विल ट्रांसफर द ऐप टू एप्लीकेशनेशंस। फाइनली विजुअल स्टूडियो कोड हमारे सिस्टम के अंदर सेटअप हो गया है। उसके बाद वी कैन क्रॉस आउट दिस विंडो एंड वी कैन सर्च फॉर विजुअल स्टूडियो कोड बिकॉज़ आई ऑलरेडी हैड वीएस कोड सेटअप ऑन दिस सिस्टम। इसीलिए मुझे दो ऑप्शंस दिख रहे हैं। नहीं तो डायरेक्टली हमें विजुअल स्टूडियो कोड के लिए सर्च करना है। एंड जो भी ऑप्शन हमें दिखाई देगा फाइंडर के अंदर वी हैव टू क्लिक ऑन इट। एंड उसके बाद वीएस कोड की वेलकम विंडो हमारे लिए ओपन हो जाएगी। सो द वेलकम विंडो इज़ गोइंग टू लुक समथिंग लाइक दिस एंड दैट मींस दैट वी हैव सक्सेसफुल्ली सेट अप वीएस कोड ऑन आवर मैक सिस्टम। नाउ लेट्स कवर द इंस्टॉलेशन ऑफ वीएस कोड ऑन आवर विंडोज सिस्टम। तो हमें ब्राउज़र पर जाना है वी हैव टू सर्च फॉर डाउनलोड विज़ual स्टूडियो कोड। क्लिक ऑन द टॉप लिंक। द टॉप लिंक इज़ गोइंग टू बी कोड डॉट visual.com डाउनलोड्स। यहां से वी कैन क्लिक ऑन द इंस्टॉलेशन फॉर विंडोज़। जैसे ही हम उसपर पर क्लिक करेंगे। इट विल आस्क अस टू सेव द डॉट exc फाइल। हम फाइल को सेव कर देंगे। फाइल हमारे लिए डाउनलोड हो 6:57 जाएगी। डाउनलोड होने के बाद वी हैव टू क्लिक ऑन द exec एंड द इंस्टॉलेशन प्रोसेस विल स्टार्ट। इंस्टालेशन के अंदर सबसे पहले वी विल एक्सेप्ट ऑल द टर्म्स ऑफ़ द अग्रीमेंट। क्लिक ऑन नेक्स्ट सारी चीजों को हम एज़ इट इज़ डिफ़ॉल्ट रख के चल रहे हैं। उसके बाद दोबारा से नेक्स्ट करेंगे। अच्छा, यह जो पेज आएगा, दिस पेज इज़ गोइंग टू बी इंपॉर्टेंट। यहां पर जितने भी हमारे पास टिक बॉक्सेस हैं, मतलब जितने भी ऑप्शंस हैं, उन सबको हम टिक करने वाले हैं। सो, वी विल ऐड, ओपन विद कोड एक्शन वंस अगेन एंड क्रिएट अ डेस्कटॉप आइकॉन भी कर लेंगे। वी विल क्लिक ऑन नेक्स्ट एंड फाइनली स्टार्ट द इंस्टॉलेशन। तो इंस्टॉलेशन हमारे लिए स्टार्ट हो जाएगा एंड द इंस्टॉलेशन इज़ कंप्लीट। लेट्स फिनिश दिस ऑफ। एंड नाउ वी हैव टू गो ऑन आवर सिस्टम एंड सर्च फॉर विज़ुअल स्टूडियो कोड। जैसे ही हम सर्च करेंगे एंड क्लिक करेंगे हमारे पास ये वेलकम विंडो ओपन होकर आ जाएगी। एंड नाउ वी हैव सक्सेसफुल्ली सेट अ वीएस कोड ऑन आन आवर सिस्टम। नाउ लेट्स स्टार्ट विद पार्ट वन ऑफ़ पाइथन प्रोग्रामिंग जिसके अंदर हम इन चार कॉन्सेप्ट्स को कवर करेंगे। एंड वी विल स्टार्ट बाय अंडरस्टैंडिंग कि हम चीजों को Python के अंदर प्रिंट या आउटपुट कैसे करते हैं। उसके लिए वी हैव ओपन विजुअल स्टूडियो कोड। वीएस कोड ऑलरेडी हम सेट अप कर चुके हैं। Python को ऑलरेडी हम डाउनलोड 7:58 कर चुके हैं। फर्स्ट टाइम जब हम वीएस कोड को खोलेंगे तो ये वेलकम विंडो हमारे पास अपीयर हो कर आएगी। अब आई हैव सम फाइल्स एंड फोल्डर्स हियर बिकॉज़ आई हैव बीन यूज़िंग वीएस कोड फॉर अ लॉन्ग टाइम। पर इसको हम चाहें तो क्रॉस आउट कर सकते हैं। सबसे पहली चीज़ जो हम करने वाले हैं दैट इज़ टू क्रिएट अ फोल्डर। यहां पर आ जाते हैं। ऊपर जाकर जब हम हवर करेंगे तो फाइल्स में वी कैन ओपन अ फोल्डर। ओपन फोल्डर में जाएंगे तो डेस्कटॉप पर जाकर आई एम गोइंग टू क्रिएट अ न्यू फोल्डर जिसको हम नाम देंगे Python क्रैश कोर्स। तो इस तरीके से यू कैन क्रिएट अ फोल्डर फॉर योरसेल्फ एंड वी विल ओपन दिस फोल्डर इन वीएस कोड। अब ये फोल्डर हमारे लिए ओपन हो गया है। कभी भी अगर हमें देखना है कि हम कौन से करंट फोल्डर के अंदर हैं? हमारी वर्किंग डायरेक्टरी क्या है? कौन सी फाइल्स पर हम काम कर रहे हैं? तो वी कैन गो टू दिस एक्सप्लोरर ऑप्शन इन वीएस कोड। इस एक्सप्लोरर पर जाकर हम यहां देख सकते हैं कि वी आर करेंटली इन दिस फोल्डर। अब इस फोल्डर के अंदर वी आर गोइंग टू क्रिएट अ न्यू फाइल। जिस फाइल के अंदर हम अपना सारा कोड लिखेंगे। तो फाइल्स को क्रिएट करने के लिए वी हैव दिस ऑप्शन व्हिच इज़ टू क्रिएट अ न्यू फाइल। हम चाहें तो सब फोल्डर्स को भी क्रिएट कर सकते हैं यूजिंग दिस ऑप्शन। सो लेट्स क्रिएट अ फाइल एंड इस फाइल को 8:59 नाम दे देते हैं कोड डॉट py। अब कोड इज़ द फाइल नेम। हम चाहते तो इसको कुछ भी नाम दे सकते थे। फर्स्ट प्रोग्राम नाम दे सकते थे। प्रोग्राम डॉटpy नाम दे सकते थे। एंड डॉट py इज़ द एक्सटेंशन। एक्सटेंशन हमें बताती है कि फाइल के अंदर एग्जैक्टली किस तरीके का कंटेंट है। जैसे अगर हमारे पास टेक्स्ट फाइल है तो उसकी एक्सटेंशन होगी। इफ वी हैव html वी हैव एचtml अगर हमारे पास जावास्क्रिप्ट फाइल है तो जेएस होगा। C++s फाइल है CP होगा। उसी तरीके से डॉटpy एक्सटेंशन हमें बता रही है कि ये हमारी Python फाइल है जिसके अंदर हम अपना Python का प्रोग्राम या Python का कोड लिखने वाले हैं। सो लेट्स क्लोज़ दिस पैनल। तो हम शुरुआत करने वाले हैं बाय आउटपुटिंग और प्रिंटिंग समथिंग ऑन द स्क्रीन। पython के अंदर हमें जब भी कुछ प्रिंट करना होता है स्क्रीन के ऊपर तो हम सिंपल सी कमांड लिखते हैं व्हिच इज प्रिंट। उसके बाद लिखते हैं पैरेंथेसिस। एंड पैरेंथेसिस के अंदर हम डबल कोट्स या फिर सिंगल कोट्स के अंदर जो चीज हमें प्रिंट करनी होती है उसको एज़ इट इज़ टाइप करते हैं। जैसे डबल कोट्स आई प्रेफर डबल कोट्स। जैसे हमें टाइप करना है। लेट्स सपोज़ हेलो वर्ल्ड। जनरली हम कोई भी प्रोग्रामिंग लैंग्वेज के 10:00 साथ स्टार्ट करते हैं। दिस इज़ द फर्स्ट थिंग दैट वी प्रिंट ऑन द स्क्रीन। तो हमने हेलो वर्ल्ड को डबल कोट्स के अंदर लिख दिया। एंड ये ऐसी चीज है जिसको हम एज इट इज प्रिंट करवाना चाहते हैं। तो इसको सेव कर लेते हैं। एंड दिस इज द रन बटन। रन करने के लिए हम क्लिक करेंगे रन पर। एंड वी कैन सी कि बॉटम में हमारे पास एक आउटपुट पैनल है या आउटपुट टर्मिनल है जिसके अंदर हमारे पास ये हेलो वर्ल्ड एज इट इज़ प्रिंट होकर आ गया है। इनफैक्ट कुछ-कुछ रिलेटेड कमांड्स भी हमें दिख रही होंगी कि हमारी फाइल जो है वो रन हुई। उसके बाद हेलो वर्ल्ड प्रिंट हुआ। उसके बाद हम कोड से एग्जिट कर गए। और ये पूरा कोड कितने टाइम में एग्जीक्यूट हुआ? 024 सेकंड्स के अंदर पूरा का पूरा कोड हमारा एग्जीक्यूट हो गया। सो दिस इज़ व्हाट वी मीन बाय प्रिंटिंग समथिंग ऑन द स्क्रीन। जब हम प्रिंट करने की बात कर रहे हैं, तो आउटपुट कुछ इस तरीके से प्रिंट होकर आएगा। अब हमारे कोड को रन करने का हमारे पास एक और तरीका होता है व्हिच इज़ जनरली द वे दैट वी आर गोइंग टू फॉलो कि हम यहां पर आउटपुट के बाद एक टर्मिनल ऑप्शन हमारे पास होता है। हम टर्मिनल में जाएंगे। एंड टर्मिनल में हमें दिख रहा होगा कि हम कौन से फोल्डर के अंदर हैं। सो वी आर इनसाइड Python क्रैश कोर्स। उसी के अंदर अभी हम हैं तो वो टर्मिनल में लेफ्ट 11:01 साइड पर लिख कर आता है बिफोर दिस परसेंटेज साइन। एंड उसके बाद अपने इस पाइथन कोड को रन करने के लिए हम एक कमांड लिखते हैं। ये स्पेशल कमांड होती है जिससे हम किसी भी पाइथन कोड को रन कर सकते हैं। वी विल राइट पाइथन एंड उसके बाद अपनी फाइल का नाम। फाइल का नाम है कोड डॉटpy। अच्छा अगर हमारे पास कभी-कभी बड़ी फाइल्स का नाम होता है या फिर हमारी फाइल्स फोल्डर के अंदर होती है तो हम ऑटो कंप्लीट को भी यूज़ कर सकते हैं टर्मिनल में। जैसे आई विल राइट सीओ एंड आई विल जस्ट प्रेस टैब। टैब प्रेस करेंगे तो ये सर्च कर लेगा सीओ से स्टार्ट होने वाली कौन सी पाइथन फाइल्स हैं एंड एक ही फाइल है तो उस फाइल का नाम आ जाएगा एंड वी विल प्रेस एंटर। जैसे ही हम एंटर प्रेस करेंगे जो भी चीज प्रिंट होने के लिए हमने कमांड दी थी पाइथन कोड के अंदर वो चीजें हमारे पास यहां पर टर्मिनल पर प्रिंट होकर आ जाएंगी। सो दिस इज़ हाउ वी प्रिंट एनीथिंग ऑन द टर्मिनल। इसके अलावा हम चाहें तो कुछ और भी प्रिंट कर सकते हैं। जैसे लेट्स सपोज़ आफ्टर हेलो वर्ल्ड आई वांट टू प्रिंट माय नेम। तो आई कैन राइट अनदर प्रिंट स्टेटमेंट इन द नेक्स्ट लाइन। हम यहां पर लेट्स सपोज़ आई राइट माय नेम। लेट्स सेव इट। एंड इस कोड को दोबारा रन करने के लिए हम क्या कर सकते 12:02 हैं? एरो कीज़ में से अपवर्ड एरो की प्रेस करेंगे तो पुरानी वाली कमांड टर्मिनल पर वापस आ जाती है। वी विल एंटर। एंड इस बार हमारे पास ये दोनों चीजें प्रिंट होकर आ गई। अगर कभी भी वी वांट टू क्लियर द टर्मिनल स्क्रीन वी कैन जस्ट राइट क्लियर। एंड सारे जो आउटपुट हैं वो हमारे लिए क्लियर हो जाएंगे। एंड इफ वी वांट हम दो चीजों को सेम लाइन पर भी प्रिंट करवा सकते हैं। जैसे अगर ये दोनों वैल्यूज़ मुझे सेम लाइन पर प्रिंट करवानी है तो आई कैन सेपरेट देम विद अ कॉमा। इसको यहां से कॉपी कर लेते हैं। एंड लेट्स सेव इट एंड नाउ लेट्स प्रेस द एरो कीज़ एंड दोबारा से ये हमारा कोड इस तरीके से रन हो जाएगा। एंड हमारे पास वैल्यूस प्रिंट होकर आ जाएंगी। अच्छा व्हाट एक्ज़ैक्टली आर दीज़ डबल कोड्स? डबल कोट्स के अंदर कोई भी चीज अगर हम पाइथन के अंदर लिखते हैं तो उसको हम अपनी स्ट्रिंग्स कहते हैं। स्ट्रिंग्स को अभी हम पढ़ेंगे आगे जाकर डिटेल में। बट स्ट्रिंग्स को हम ऐसे सोच सकते हैं कि कोई भी अगर हमें सेंटेंस लिखना है, कोई भी वर्ड लिखना है, कोई भी कैरेक्टर लिखना है, कोई भी पैराग्राफ लिखना है तो वो सारी चीजें पाइथन के अंदर डिफाइन होती है इन द फॉर्म ऑफ़ स्ट्रिंग्स। स्ट्रिंग्स हम डबल कोट की हेल्प से भी लिख सकते हैं, सिंगल कोट की हेल्प से भी लिख सकते हैं। नाउ, वन मोरेंट थिंग टू नोट इन Python इज़ कि 13:03 Python एक केस सेंसिटिव लैंग्वेज है। व्हाट एग्जैक्टली डू वी मीन बाय केस सेंसिटिव? केस सेंसिटिव का मतलब है कि हमारे जो अपर केस है एंड हमारा जो लोअर केस है उसको डिफरेंट तरीके से पाइथन इंटरप्रेट करता है। मतलब यहां पर प्रिंट कमांड के लिए अगर हम यहां कैपिटल पी लिख दें तो ये कमांड वर्क नहीं करेगी। अगर हम इसे रन करें तो वी आर गोइंग टू गेट एन एरर हियर प्रिंट इज़ नॉट डिफाइंड। क्योंकि कैपिटल पी वाला जो प्रिंट है वो पाइथन के अंदर डिफाइन नहीं है। तो लोअर केस वर्ड्स एंड अप्पर केस वर्ड्स आर टू सेपरेट थिंग्स इन द लैंग्वेज। तो यहां पर लोअर केस कर देते हैं। एंड दिस इज़ हाउ वी आर गोइंग टू एग्जीक्यूट आवर प्रोग्राम। तो ये तो हमने देख लिया किस तरीके से हम पाइथन के अंदर आउटपुट को प्रिंट करते हैं। नाउ लेट्स टॉक अबाउट वेरिएबल्स। वेरिएबल्स हमारे कंटेनर्स होते हैं जिसके अंदर हम कोई भी वैल्यू स्टोर करा सकते हैं। जैसे मैथ के अंदर हमने काफी सारे वेरिएबल्स पढ़े होंगे। मैथ के अंदर कभी भी अगर हमें कोई वैल्यू लिखनी है। जैसे हमने लिख दिया x = 10। तो हम यहां पर x को एक वेरिएबल कहते हैं। वेरिएबल क्यों? क्योंकि आज x की वैल्यू 10 है। लेकिन कल को x की वैल्यू 15 भी हो सकती है। बढ़कर 20 भी हो सकती है। सो ये 14:03 वैल्यू क्या कर रही है? कि ये वैल्यू वेरीरी कर रही है, चेंज हो रही है। दैट इज़ व्हाई वी कॉल दिस अ वेरिएबल। इसी तरीके का सेम कांसेप्ट हम प्रोग्रामिंग के अंदर फॉलो करते हैं। प्रोग्रामिंग के अंदर जैसे रियल लाइफ में इन आवर हाउस वी माइट हैव अ लॉट ऑफ़ कंटेनर्स। कंटेनर्स के अंदर हम क्या करते हैं? कुछ ना कुछ सामान को स्टोर कराते हैं हमारे किचन के अंदर या हमारी स्टडी के अंदर। तो जब भी हमें वो सामान या वो चीज़ चाहिए होती है, वी कैन जस्ट गो एंड डायरेक्टली लुक फॉर द कंटेनर। यही सेम कांसेप्ट हमारे कंप्यूटरटर्स के अंदर फॉलो होता है। जैसे लेट्स सपोज़ दिस इज़ माय कंप्यूटरटर्स मेमोरी। अब इस मेमोरी के अंदर हमारे पास हम विजुअलाइज कर सकते हैं कि हमारे पास डिफरेंट कंपार्टमेंट्स हैं जिसके अंदर हम कोई ना कोई वैल्यू स्टोर करा सकते हैं। जैसे अगर हमें अपने मार्क्स स्टोर कराने हैं और लेट्स सपोज माय सीजीपीए इज़ 9.6 तो ये क्या हो गई? ये हमारी सीजीपीए हो गई। उसी तरीके से अगर हमें कोई नेम स्टोर कराना है। लेट्स सपोज द नेम इज़ टोनी। तो यहां पर हमने क्या किया? यहां पर हमने नेम स्टोर करा लिया। तो ये क्या हो गई? ये हमारी वेरिएबल्स हो गई। वेरिएबल्स नेम्ड स्टोरेज होती हैं कि वैल्यू तो हमने ये स्टोर कराई। पर ये जो जगह है जहां पर हमारी ये वैल्यू स्टोर हुई 15:05 है उसको हमने ये नाम दे दिया। तो दिस इज कॉल्ड अ वेरिएबल नेम एंड दिस इज कॉल्ड अ वेरिएबल वैल्यू। जैसे कोड के अंदर किस तरीके से लिखते हैं? बिल्कुल वैसे ही लिखते हैं जैसे हम मैथ के अंदर वेरिएबल्स को डिफाइन करते हैं। जैसे लेट्स डिफाइन सम ऑफ़ आवर वेरिएबल्स। लेट्स सपोज़ एक वेरिएबल हमने डिफाइन किया नेम नाम से जिसके अंदर हम वैल्यू स्टोर करवा सकते हैं श्रद्धा। तो नेम हमारे वेरिएबल का नाम है और उस नेम के अंदर क्या वैल्यू है? श्रद्धा वैल्यू स्टर्ड है। इक्वल टू का साइन होता है वैल्यूज़ असाइन करने के लिए। इन टेक्निकल टर्म्स इट्स कॉल्ड एन असाइनमेंट ऑपरेटर। पर हमें उतना टेक्निकल नहीं होना। इक्वल टू का काम प्रोग्रामिंग के अंदर होता है कि राइट साइड में जो भी वैल्यू है उसको लेफ्ट साइड में जाके स्टोर कर देना। तो राइट साइड में श्रद्धा वैल्यू है उसको नेम नाम के वेरिएबल के अंदर जाकर स्टोर कर दिया। हम अपने वेरिएबल्स का कुछ भी नाम रख सकते हैं। यहां पर हम चाहते तो इसको माय नेम भी बोल सकते थे। यहां पर हम चाहते तो इसको फर्स्ट नेम भी बोल सकते थे। तो कुछ भी नाम दिया जा सकता है जनरली वेरिएबल्स को। एज लॉन्ग एज वो डिजिट से या किसी स्पेशल कैरेक्टर से स्टार्ट नहीं होता। तो सिर्फ इंग्लिश लेटर से ही हमारे वेरिएबल के नाम स्टार्ट हो सकते हैं या फिर 16:05 अंडरस्कोर से। तो पाइthन में किसी भी वेरिएबल को क्या नाम दिए जा सकते हैं? उसके कुछ स्पेशल रूल्स होते हैं जो हर लैंग्वेज के डिफरेंट होते हैं। तो पाइthन के जो स्पेसिफिक रूल्स हैं फॉर नेमिंग वेरिएबल्स। तो उनको हमने ऑलरेडी नोट्स के अंदर इंक्लूड कर दिया। उसको भी जाकर हम चेक कर सकते हैं। बट दिस इज हाउ वी डिफाइन अ वेरिएबल। अब हम मल्टीपल वेरिएबल्स डिफाइन कर सकते हैं। लेट्स सपोज हम ऐज डिफाइन कर रहे हैं एज 27। तो ये दो वेरिएबल्स हो गए। हम चाहें तो वेरिएबल वैल्यूज़ को प्रिंट भी कर सकते हैं। अब वेरिएबल वैल्यू को प्रिंट करने के लिए लेट्स ट्राई द सेम वे जैसे हमने पहले प्रिंट किया था। मतलब हमने डबल कोट्स लिए और हमने अंदर नेम लिख दिया। इसको एक बार क्लियर करके रीरन करते हैं। तो हमारे पास क्या प्रिंट होकर आया? नेम प्रिंट होकर आया। नाउ दिस इज़ नॉट द करेक्ट वे टू प्रिंट अ वेरिएबल नेम। क्योंकि डबल कोट क्या होती है? एक स्ट्रिंग होती है। स्ट्रिंग के अंदर जो भी वैल्यू हम लिखेंगे वो एज़ इट इज़ प्रिंट होगी। पर हमें नेम नहीं प्रिंट करवाना। हमें तो नेम वेरिएबल की वैल्यू प्रिंट करवानी है। तो जब भी हमें वेरिएबल्स की वैल्यूज़ को प्रिंट करवाना होता है, हम सिंपली उनको बिना कोड्स के लिखते हैं। लाइक दिस एंड इस तरीके से वी विल गेट द नेम वैल्यू। सिमिलरली, हम चाहें तो ऐज की वैल्यू को भी 17:05 प्रिंट करवा सकते हैं। एंड इस तरीके से हमारे पास नेम एंड ऐज दोनों वैल्यूज़ प्रिंट होकर आ जाएंगी। हम चाहें तो इन वैल्यूज़ को चेंज भी कर सकते हैं। बिकॉज़ देयर वेरिएबल्स। तो कल को हो सकता है हमने नेम को चेंज करके कुछ और कर दिया एंड एज को चेंज करके भी कुछ और कर दिया। एंड वी कैन प्रिंट द सेम थिंग्स अगेन। तो अब हमारी जो न्यू वैल्यूज़ हैं वो हमारे पास इस तरीके से प्रिंट होकर आ जाएंगी। तो जैसे ही वैल्यूज़ हम चेंज करते हैं, वैसे ही पुराने वाली वैल्यूज़ ओवराइट हो जाती हैं हमारी मेमोरी के अंदर। एंड नाउ द मेमोरी इज़ गोइंग टू होल्ड द न्यू वैल्यूज़। मतलब पहले अगर यहां पर कुछ भी नाम था, तो अब हमारे पास एक डिफरेंट नाम आ जाएगा हमारे कंटेनर के अंदर। मतलब मेमोरी के अंदर। अच्छा देयर इज़ वन मोरेंट थिंग टू नोट जब भी हम वेरिएबल्स को क्रिएट करते हैं एक अच्छे प्रोग्रामर की निशानी ये होती है कि उनके जो वेरिएबल्स हैं उनका नाम पढ़ के ही समझ में आ जाता है कि उस वेरिएबल के अंदर क्या वैल्यू स्टोर्ड है। मतलब ये जो वेरिएबल नेम हमने डिफाइन किया है, इसको हम X भी बोल सकते थे। इसको हम Y भी बोल सकते थे। इसको हम जी भी बोल सकते थे। बट जनरली इस तरीके के रैंडम नेम्स हम वेरिएबल्स को नहीं देते। हम वेरिएबल्स को 18:05 थोड़ा डिस्क्रिप्टिव नेम देते हैं। जैसे अगर हम नेम या फर्स्ट नेम या फुल नेम स्टोर करवा रहे हैं तो उसको हम नेम नाम दे सकते हैं। जैसे ये 27 वैल्यू कुछ भी हो सकती थी। पर इस वेरिएबल को हमने ऐज नाम दिया। उससे हमें पता चल रहा है कि इसके अंदर ये जो नंबर 27 है, दिस इज़ नॉट मार्क्स। दिस इज़ नॉट समथिंग एल्स। दिस इज़ नॉट द प्राइस ऑफ़ एन आइटम। दिस इज़ द एज ऑफ़ अ पर्सन। एंड क्योंकि आज के लेक्चर को देख के हम भी एक स्किल प्रोग्रामर बनने वाले हैं। इसीलिए इट्सेंट टू गिव डिस्क्रिप्टिव नेम्स टू ऑल आवर वेरिएबल्स। नाउ वेरिएबल्स किस तरीके की वैल्यू स्टोर करते हैं उसके पाइथन के अंदर कुछ ऑलरेडी डिफाइन टाइप्स होते हैं। अगर हम C++ C या जावा बैकग्राउंड से आ रहे हैं तो हमें आदत होगी कि जब भी हमें कोई इंटीजर वैल्यू स्टोर करनी होती है। हम दूसरी लैंग्वेजज़ में जनरली इस तरीके से डिफाइन करते हैं कि हम एक इंटीजर वेरिएबल बना रहे हैं। पर Python के अंदर ऐसा नहीं होता। Python के अंदर हमें एक्सप्लसिटली लिखकर नहीं बताना पड़ता कि हम कौन सा टाइप स्टोर करना चाहते हैं। लेकिन एक बार हमने वैल्यू स्टोर करा ली तो उसके बाद हम चेक कर सकते हैं कि हमारा जो वेरिएबल है वो कैसी वैल्यू को स्टोर करता है। जैसे एग्जांपल के लिए इफ वी हैव दीज़ टू वैल्यूज़। तो नेम हमें ऑलरेडी पता है एक स्ट्रिंग है। एज हमें ऑलरेडी पता है एक 19:06 इंटीजर नंबर है। तो इनके हम चाहें तो टाइप भी चेक कर सकते हैं। जैसे इफ आई प्रिंट टाइप ऑफ़ ये एक फंक्शन होता है पाइथन के अंदर जो किसी भी वेरिएबल का हमें टाइप बताता है। अब फंक्शंस एग्जैक्टली क्या होते हैं? उसको लेक्चर के अंदर अभी हम आगे जाकर पढ़ रहे होंगे। बट अभी के लिए वी विल जस्ट राइट टाइप ऑफ नेम। तो हमारे पास नेम का टाइप आ जाएगा व्हिच इज़ एसटीआर। एसटीआर का मतलब है स्ट्रिंग। अभी के लिए क्लास क्या है और दूसरी चीजें क्या है उसको इग्नोर कर देना है। बट एसटीआर स्टैंड्स फॉर स्ट्रिंग। क्योंकि हमने यहां पे एक स्ट्रिंग स्टोर कराई है। तो हमारे पास टाइप स्ट्रिंग आ गया। ऐज के लिए भी चेक करेंगे। तो इसके लिए हमारे पास क्योंकि ये इंटीजर वैल्यू है। तो द टाइप इज़ गोइंग टु बी इंट। तो ये इंटीजर वैल्यूज़ के लिए। तो हम जब भी टाइप की बात करते हैं, हम चार मेन टाइप्स को कंसीडर करते हैं। सबसे पहला मेन टाइप हमारे पास हो जाता है स्ट्रिंग व्हिच इज़ एसटीआर। दूसरा मेन टाइप हो जाता है इंट व्हिच इज़ इंटीजर। उसके साथ में वी आल्सो हैव फ्लोट। फ्लोट का मतलब होता है कोई भी डेसिमल वैल्यू। जैसे अगर हम किसी चीज़ का प्राइस स्टोर करवा रहे हैं 99.5 तो वो एक फ्लोटिंग वैल्यू हो जाएगी। या फिर अगर हमें कोई ट्रू एंड फॉल्स वैल्यूज़ को 20:07 स्टोर कराना है तो हमारे पास एक और टाइप होता है व्हिच इज़ बुल और बुलियन। बुलियन का मतलब होता है कोई भी वैल्यू जब ट्रू या फिर फॉल्स हो। ट्रू या फॉल्स स्टोर कराने का क्या लॉजिक है? उसको अभी आगे जाकर हम इफ एल स्टेटमेंट्स को पढ़ेंगे। हम अपने लूप्स को पढ़ेंगे तो हमें और ज्यादा अच्छे से समझ में आएगा। बट अभी के लिए एग्जांपल अगर देखें तो ये हमारी स्ट्रिंग टाइप हो गया। ये हमारा इंटीजर टाइप हो गया। हम चाहे तो फ्लोटिंग टाइप भी देख सकते हैं। जैसे इफ आई वांट टू स्टोर सीजीपीए तो सीजीपीए के अंदर लेट्स सपोज द सीजीपीए इज़ 9.6 एंड इफ आई प्रिंट द टाइप ऑफ़ सीजीपीए तो वो हमारे पास आ जाएगा फ्लोट मतलब फ्लोटिंग वैल्यू है डेसिमल आ गया है। उसके साथ में आई कैन आल्सो से इज़ दिस अ स्टूडेंट? इस स्टूडेंट के लिए लेट्स सपोज़ हम वैल्यू स्टोर करना चाहते हैं ट्रू। जब भी ट्रू को लिखना है Python के अंदर तो इट स्टार्ट्स विद T से स्टार्ट नहीं करना। वंस अगेन Python इज़ केस सेंसिटिव। तो ये हमने एक वेरिएबल बना दिया जिसके अंदर हमने ट्रू वैल्यू स्टोर कर दी। तो यहां पर इफ आई प्रिंट द टाइप ऑफ दिस वेरिएबल तो इसका टाइप आ जाएगा हमारे पास बुलियन के इक्वल। 21:07 तो इस तरीके से पाइथन के अंदर हमारे पास ये चार प्रिमिटिव टाइप ऑफ डेटा टाइप्स अवेलेबल होते हैं जिसकी फॉर्म में हमारा डेटा स्टोर होता है। नेक्स्ट थिंग दैट वी आर गोइंग टू टॉक अबाउट वेरिएबल्स को हमने कवर कर लिया है। इज़ आवर इनपुट। हमने देख लिया आउटपुट कैसे दिखाना है। हमने देख लिया वेरिएबल्स को कैसे स्टोर करना है। पर हम यूजर से इनपुट कैसे ले सकते हैं? यूजर से इनपुट लेने का मतलब है कि इस टर्मिनल पे जहां पर हमने प्रिंट किया यहां से हम इनपुट को किस तरीके से ले सकते हैं? उसके लिए वी हैव अ वेरी सिंपल कमांड व्हिच इज़ इनपुट। हम सिंपली लिखते हैं इनपुट। एंड डबल कोट्स के अंदर हम कोई भी मैसेज लिख सकते हैं जो हम इनपुट लेने से पहले दिखाना चाहते हैं। जैसे इफ आई वांट टू राइट एंटर योर नेम। तो इस तरीके से हम दिखा सकते हैं एंटर योर नेम। लेट्स सेव इट एंड रन द कोड। तो यहां पर आ गया एंटर योर नेम एंड उसके बाद लेट्स सपोज आई एंटर द नेम एज टोनी स्टार्क। तो यह हमने नेम एंटर कर दिया। जैसे ही एंटर करेंगे हमारा प्रोग्राम खत्म हो गया। तो हमारा प्रोग्राम एज सच ज्यादा कुछ नहीं करता। सिर्फ एंटर योर नेम प्रिंट करवाता है। उसके बाद हम नेम प्रिंट करते हैं और प्रोग्राम खत्म हो जाता है। पर हम चाहें तो हमारी जो वैल्यूज़ हैं उनको कहीं 22:08 पर स्टोर कर सकते हैं। तो जो भी इनपुट हम ले रहे हैं उसे हम स्टोर कर सकते हैं इन सम वेरिएबल। तो लेट्स सपोज़ हमने नेम नाम का वेरिएबल बनाया। हम जो भी इनपुट लेंगे राइट से लिया जाएगा और लेफ्ट के अंदर जाकर स्टोर हो जाएगा। सो लेट्स सेव इट रन द कोड अगेन एंड इस बार हम दोबारा से कुछ इनपुट देते हैं। एंड वंस अगेन प्रोग्राम एग्जीक्यूट हो गया। पर वो वैल्यू इस बार नेम के अंदर स्टोर हुई थी। पर सिर्फ स्टोर करने का पॉइंट नहीं है। हम क्या कर सकते हैं? उसे प्रिंट भी करवा सकते हैं। इनफैक्ट लेट्स प्रिंट हेलो एंड उसके बाद जो भी नेम है। सो लेट्स रन द कोड अगेन एंड इस तरीके से हमारे पास हमारा मैसेज प्रिंट होकर आ जाएगा। तो हम वैल्यूस को इनपुट ले सकते हैं। उन्हें किसी वेरिएबल के अंदर स्टोर कर सकते हैं। फिर उन वैल्यूस को यूज कर सकते हैं। या तो प्रिंट करवाने के लिए यूज कर सकते हैं। किसी कैलकुलेशन के लिए यूज कर सकते हैं। अच्छा यही सेम मैसेज प्रिंट करवाने का हमारे पास एक और तरीका है पाइthon के अंदर व्हिच इज़ राइटिंग इट लाइक दिस। हम क्या कर सकते हैं? हेलो प्लस समथिंग कर सकते हैं। ये हमारे पास एक 23:09 स्ट्रिंग है। स्ट्रिंग के साथ जब भी हम कुछ ऐड करते हैं, प्लस करते हैं तो उसका मतलब है कि वी आर डूइंग समथिंग कॉल्ड कॉन्कटिनेशन। कॉनकटिनेशन। कॉन्कटिनेशन का मतलब है जब हम एक स्ट्रिंग को दूसरी स्ट्रिंग के साथ ऐड करते हैं तो दो स्ट्रिंग्स ऐड होकर एक सिंगल स्ट्रिंग बन जाएंगे और वो सिंगल स्ट्रिंग हमारे पास एज एन आउटपुट आ जाएगा। जैसे एग्जांपल के लिए इफ आई क्लियर दिस लेट्स रन द कोड अगेन एंड लेट्स सपोज़ आई टाइप पीटर पार्कर। तो एंटर करेंगे तो इस तरीके से हेलो पीटर पार्कर हमारे पास आ जाएगा। एंड इस बार यू विल नोटिस दैट इज़ नो स्पेस इन बिटवीन। हेलो और नेम के बीच में स्पेस नहीं है। क्योंकि यहां पर एज़ इट इज़ हमारी स्ट्रिंग ऐड होती है। तो अगर हमें स्पेस चाहिए तो या तो इस स्ट्रिंग के बाद हमें एक और स्पेस वाली स्ट्रिंग को ऐड करना पड़ेगा। नहीं तो इस हेलो के बाद ही हम एक स्पेस दे सकते हैं। तो लेट्स रीरन एंड टाइप। तो इस तरीके से हमारा जो कोड है वो रन हो जाएगा। एंड दिस इज़ व्हाट कॉन्कटिनेशन इज़। सो, दिस इज़ हाउ वी टेक इनपुट इन Python. प्लस लेट्स आल्सो टॉक अबाउट समथिंग व्हिच इज़ इंपॉर्टेंट इन 24:09 प्रोग्रामिंग व्हिच आर आवर कॉमेंट्स। कॉमेंट्स क्या होते हैं? कमेंट्स हमारे कोड का वो पार्ट होते हैं जिसको Python का इंटरप्रेटर इग्नोर कर देता है। मतलब कभी भी अगर हमें बताना है कि हमारे प्रोग्राम के अंदर एग्जैक्टली चल क्या रहा है तो उसको हम लिखेंगे इन द फॉर्म ऑफ़ कमेंट्स। कमेंट्स के अंदर हम कोड नहीं लिखते। कमेंट्स के अंदर हम प्लेन इंग्लिश लिख सकते हैं या कोई भी और लैंग्वेज लिख सकते हैं जिसको हमारा एडिटर रीड कर सकता है, अंडरस्टैंड कर सकता है। तो कॉमेंट्स बेसिकली कोड को डिस्क्राइब करने का एक तरीका होता है। जैसे इस कोड के अंदर हम क्या कर रहे हैं? इस कोड के अंदर हम सीख रहे हैं हाउ टू टेक इनपुट इन Python तो यह हमारा कोड है। अब यह क्या हो गया? यह एक कमेंट हो गया। यह Python का प्रोग्राम नहीं है। यह प्लेन इंग्लिश है। तो, कभी भी Python के अंदर हमें कमेंट क्रिएट करना होता है, तो उसको हम स्टार्ट करते हैं विद अ हैश। हैश के बाद हम चाहे तो स्पेस दे सकते हैं। चाहे तो इग्नोर भी कर सकते हैं। बट दिस इज़ हाउ वी क्रिएट अ कमेंट। जनरली वीएस कोड के अंदर जितनी भी लैंग्वेजज़ के कमेंट्स होते हैं, वो ग्रीन से हाईलाइटेड होते हैं। तो, कोई भी ग्रीन कलर में हमें वैल्यू दिख रही है इन पाइथन कोड व्हिच स्टार्ट्स विद अ हैश। दैट इज़ अ कॉमेंट। एंड इस तरीके से हम बहुत सारे कमेंट्स हैं 25:10 जो अपने प्रोग्राम के अंदर लिख सकते हैं। जैसे हमारे कोड में यहां पर क्या हो रहा है? हम डिस्क्राइब कर सकते हैं कि यहां पर हम कॉन्कटिनेशन को पढ़ रहे हैं। तो इस तरीके से चीजों को डिस्क्राइब करने के लिए हम कमेंट्स को यूज़ करते हैं। अब कमेंट्स काफी इंपॉर्टेंट होते हैं क्योंकि जनरली हम किसी भी बड़ी ऑर्गेनाइजेशन को ज्वाइन करेंगे। तो वहां पर काफी सारा कोड बेस होता है जो ऑलरेडी लिखा होता है। अब किसी भी नए प्रोग्रामर को अगर वो कोड बेस समझना है या लेट्स सपोज हम भी अपना कोई प्रोजेक्ट बना रहे हैं एंड हमारे दोस्त को अगर उस प्रोजेक्ट के अंदर कोड को समझना है तो कोड के अंदर 100्स एंड थाउजेंड्स ऑफ लाइंस ऑफ कोड होता है एक साथ एक फाइल के अंदर। तो उन सारी चीजों को अंडरस्टैंड करने के लिए कमेंट्स को ऐड करना बहुत ज्यादा जरूरी है। जिससे कोड के डिफरेंट पार्ट्स डिस्क्राइब हो सके कि कोड में एग्जैक्टली चल क्या रहा है। अभी तो हमने यहां पे दो-तीन लाइन लिखी हैं कोड के अंदर। बट जनरली जब हम रियल लाइफ कोड बेसिस देखेंगे ऑर्गेनाइजेशंस के या बड़े-बड़े प्रोजेक्ट्स को बिल्ड करेंगे तो वहां पर बहुत सारी लाइंस ऑफ कोड्स होती हैं। तो ऐसे में कमेंट्स हमें हेल्प करते हैं टू अंडरस्टैंड व्हाट एग्जैक्टली इज़ हैपनिंग इन द कोड। तो थ्रू आउट द लेक्चर हम बहुत सारे कमेंट्स को लिखने वाले हैं। सो दिस इज़ व्हाट कमेंट्स आर इन पाइथन। एंड यहां 26:09 पर हमारा पार्ट वन कंप्लीट होता है। अब पार्ट वन के बाद यू हैव टू पॉज हियर एंड कंप्लीट दिस प्रैक्टिस एक्सरसाइज वन। प्रैक्टिस एक्सरसाइजज़ हमारी एडिशनल प्रैक्टिस के लिए हैं। एंड इन्हें हमें सेल्फ प्रैक्टिस मतलब खुद से बैठकर कंप्लीट करना है। एंड जितना ज्यादा हम प्रैक्टिस एक्सरसाइजज़ को खुद से कंप्लीट करेंगे उतना ज्यादा हमें प्रोग्रामिंग लैंग्वेज के अंदर कॉन्फिडेंस आएगा चीजों को खुद से करने में। अब जितनी भी प्रैक्टिस एक्सरसाइजज़ लेक्चर के अंदर हैं उन सबके सॉलशंस आर ऑलरेडी गिवेन इन द डिस्क्रिप्शन बॉक्स। तो वहां से जाकर हम अपने सॉलशंस को टैली भी कर सकते हैं। अगर हमें कोई डिफिकल्टी आ रही है तो वहां से जाकर हम सॉल्यूशन को चेक भी कर सकते हैं। हेल्प भी ले सकते हैं। सो दिस इज द फर्स्ट प्रैक्टिस एक्सरसाइज दैट वी हैव टू कंप्लीट इन द लेक्चर एंड इज़ वेरीेंट कि सारी चीजों को प्रैक्टिस के अंदर हम खुद से पहले ट्राई करें एंड उसके बाद ही हमें सॉल्यूशन पर या उसके बाद ही हमें नीचे जाके नोट्स के ऊपर जंप करना है। एंड नेक्स्ट लेट्स स्टार्ट विद पार्ट टू। अब पार्ट टू के अंदर हम इन सारे कॉन्सेप्ट्स को कवर करने वाले हैं। सो लेट्स स्टार्ट बाय अंडरस्टैंडिंग व्हाट एक्जेक्टली इज़ टाइप कन्वर्ज़न एंड टाइप कास्टिंग। अभी के लिए हमने देखा कि कोई भी चीज अगर हमें इनपुट लेनी होती है तो वी इनपुट इट इन 27:09 पाइthन लाइक दिस। जैसे अगर हम लिखें एंटर अ नंबर तो उस नंबर को हम यहां पर आकर स्टोर कर सकते हैं या लेट्स सपोज़ हम किसी भी व्यक्ति की ऐज इनपुट करना चाह रहे हैं। सो वी आर इनपुटिंग द ऐज लाइक दिस एंड लेट्स आल्सो प्रिंट द ऐज। सो ऐज हम इनपुट करेंगे। कोई भी वैल्यू होगी वो हमारे पास आकर प्रिंट हो जाएगी। नाउ इफ आई आल्सो वांट टू प्रिंट द टाइप ऑफ दिस वैल्यू तो हम जनरली एक्सपेक्ट करेंगे कि हम ऐज इनपुट कर रहे हैं तो हमारे पास टाइप इंटीजर होना चाहिए या कुछ नंबर रिलेटेड टाइप होना चाहिए या फ्लोट हो जाना चाहिए पर यहां पर द टाइप इज़ गोइंग टू बी स्ट्रिंग एवरीथिंग बाय डिफ़ॉल्ट जिसको हम इनपुट फंक्शन से इनपुट लेते हैं वो एक स्ट्रिंग की तरह जाकर स्टोर होता है इरिस्पेक्टिव ऑफ़ कि हम किस तरीके की वैल्यू वहां पे स्टोर कर रहे हैं। तो ये जो 27 है ये एक स्ट्रिंग की तरह स्टोर हो रहा है। मतलब कल को अगर हमें प्रिंट करवाना हो कि ऐज़ 1 साल बाद क्या हो जाएगी? इट विल बी ऐज़ + 1, तो वह चीज़ हम प्रिंट नहीं करवा सकते बिकॉज़ इट विल लीड टू एन एरर। यहां पे ये क्या करने की कोशिश कर 28:10 रहा है? हम तो चाह रहे हैं 27 में वन ऐड हो के 28 हो जाए। पर Python क्या कर रहा है? Python कह रहा है दिस इज़ अ स्ट्रिंग। तो स्ट्रिंग के अंदर आप +1 एक इंटीजर वैल्यू को कॉन्कटिनेट नहीं कर सकते। स्ट्रिंग के अंदर स्ट्रिंग को ही कॉन्कटिनेट कर सकते हो। और यहां पे Python कॉन्कटिनेशन परफॉर्म करने की कोशिश कर रहा है व्हिच इज़ रोंग। तो ये चीज फिक्स करने के लिए हम क्या करते हैं? वी डू टाइप कास्टिंग। बाय डिफॉल्ट जो टाइप का डेटा इनपुट हमें दे रहा है दैट इज अ स्ट्रिंग टाइप। पर स्ट्रिंग टाइप को हम चाहें तो इंटीजर के अंदर कन्वर्ट कर सकते हैं। हम चाहें तो स्ट्रिंग टाइप को फ्लोट के अंदर भी कन्वर्ट कर सकते हैं। तो उसके लिए हमारे पास डिफरेंट फंक्शनंस होते हैं। फंक्शनंस वंस अगेन हम आगे जाके डिटेल में पढ़ेंगे। पर फंक्शनंस कहने का मतलब है कि हम सिंपली लिखते हैं इंट और पैरेंथेसिस और उसके अंदर अपनी वैल्यू को पास करेंगे। तो जो भी वैल्यू पास करेंगे वो इंटीजर के अंदर कन्वर्ट हो जाएगी। जैसे एग्जांपल के लिए यहां पर हमने ये ऐज लिया। अब इस ऐज को हम क्या करने वाले हैं? वी विल कन्वर्ट ऐज इज़ इक्वल टू इंटीजर ऑफ़ एज। हमने इस तरीके से इसे कन्वर्ट कर दिया कि जो भी ऐज 29:11 वैल्यू है उसको इंटीजर में कन्वर्ट कर दो। या इनफैक्ट कन्वर्ट करने के बाद +1 कर दो और हमें न्यू ऐज दे दो। और हम क्या करेंगे? प्रिंट कर देंगे हमारी न्यू एज वैल्यू। लेट्स क्लियर दिस एंड रन। हमने 27 एंटर किया। तो हमारे पास नई एज आ गई 28 के इक्वल। तो इंटरनली ये वैल्यू क्या हो गई? ये वैल्यू इंटीजर के अंदर कन्वर्ट हो गई। जैसे इंटीजर के अंदर वैल्यू कन्वर्ट कराते हैं वैसे ही फ्लोट के अंदर कन्वर्ट करा सकते हैं। जैसे इफ आई वांट टू कन्वर्ट माय न्यू एज वैल्यू टू फ्लोट। तो वो कैसे करेंगे? आई कैन प्रिंट फ्लोट ऑफ़ न्यू एज। तो रन करेंगे 27। तो 28 तो नॉर्मल इंटीजर वैल्यू थी। फ्लोट में जैसे ही कन्वर्ट किया हमारे पास डेसिमल पॉइंट आ गया। तो हमारे पास 28.0 हो गया। तो ऐसे हम इंटीजर में कन्वर्ट कर सकते हैं, फ्लोट में कन्वर्ट कर सकते हैं। बुलियन में कन्वर्ट कर सकते हैं बाय राइटिंग दिस। एंड सिमिलरली हम चाहें तो वैल्यूज़ को स्ट्रिंग के अंदर भी कन्वर्ट कर सकते हैं। पर जनरली जब भी हम ये कन्वर्ज़ कर रहे हैं, हमें हमेशा कंपैटिबिलिटी देखनी है। मतलब ये नहीं करना कि ए बी सी डी लिखा हुआ है और 30:12 इस वैल्यू को हम इंटीजर के अंदर कन्वर्ट करने की कोशिश कर रहे हैं। तो इस तरीके के एब्सर्ड कन्वर्ज़ंस हमें नहीं करने विदाउट एनी रीज़न। पर जो लॉजिकल कन्वर्शनंस हैं उनको हमें करना है। अच्छा ये जो टाइप ऑफ कन्वर्शन होता है जहां पे हम एक फंक्शन यूज कर लेते हैं। उसके अंदर कोई वैल्यू पास करते हैं। मतलब पैरेंथेसिस में कोई वैल्यू लिखते हैं और फिर वो वैल्यू कन्वर्ट हो जाती है। इस तरीके के कन्वर्ज़ को हम कहते हैं टाइप कास्टिंग। हमारे पास दो तरीके के कन्वर्शनंस होते हैं पython के अंदर। वन इज़ कॉल्ड टाइप कन्वर्ज़ एंड अनदर इज़ कॉल्ड टाइप कास्टिंग। टाइप कास्टिंग वो कन्वर्शन होता है जिसको हम खुद करते हैं। मतलब प्रोग्रामर करता है एक फंक्शन को लिखकर। जैसे इस तरीके से हमने इंट के अंदर ऐज को लिखा या फ्लोट के अंदर न्यू ऐज को लिखा तो ये कन्वर्ज़ हमने एज अ प्रोग्रामर किया है। तो इसको हम टाइप कास्टिंग कहते हैं। पर कुछ कन्वर्ज़ होते हैं जो Python का इंटरप्रेटर ऑटोमेटिकली कर लेता है। हमें बताने की जरूरत नहीं पड़ती। उसे हम टाइप कन्वर्ज़ कहते हैं। जैसे एग्जांपल के लिए लेट्स रिमूव दिस। इफ आई ट्राई टू प्रिंट 1 + 2.5 तो ऑटोमेटिकली 31:14 Python क्या करेगा? इस 2.5 को 1.0 से ऐड करके फाइनल जो रिजल्ट आएगा वो हमेशा डेसिमल वैल्यू या एक तरीके से फ्लोटिंग वैल्यू ही आएगी। जैसे इफ वी सेव इट एंड रन। तो हमारे पास वैल्यू आई है 3.5। वैल्यू हमारे पास वन के इक्वल नहीं आई। जबकि अगर इसी चीज़ को मतलब 2.5 को अगर हम इंटीजर में कन्वर्ट कर देते तो उससे क्या होता है? उससे डेसिमल वैल्यू के बाद वाली वैल्यूज़ कंप्लीटली इग्नोर हो जाती हैं। तो अगर हम ये करेंगे तो 2.5 में से5 इग्नोर हो जाएगा। तो इट विल बी 1 + 2 व्हिच इज़ इक्वल टू 3। तो ऐसा नहीं है कि यहां पर अगर हम 999 कर दें तो मैथ्स में तो क्या होता है? इसको हम राउंड ऑफ करके थ्री ले लेते हैं। पर Python के अंदर या इन जनरल प्रोग्रामिंग के अंदर दिस इज़ कंसीडर्ड ऐज़ टू। 999 कितनी भी बार भी लिखा हो वो पूरा इग्नोर हो जाता है। सो इफ आई रन दिस कोड अगेन इस बार हमारे पास वैल्यू प्रिंट होकर आएगी थ्री के इक्वल। क्योंकि इस बार हमने क्या किया? ये है टाइप कास्टिंग जिसमें हम कह रहे हैं हमें आउटपुट इंटीजर ही चाहिए। तो इस डेसिमल को फ्लोटिंग को इंटीजर बना दो। ये है टाइप कन्वर्शन जिसमें पाइथन 32:16 इंटरप्रेटर ऑटोमेटिकली डिटेक्ट कर रहा है कि एक वैल्यू इंटीजर है, एक वैल्यू फ्लोट है। तो मेरा कोई भी जो पीस ऑफ़ इनेशन है मतलब डेसिमल पॉइंट के बाद वाली वैल्यूज़ वो लॉस्ट ना हो जाए। इसलिए पूरे आंसर को ही मुझे डेसिमल बना के रखना है। तो इस वन वाले इंटीजर को भी हम फ्लोट के अंदर कन्वर्ट कर देंगे। सो दिस इज़ इंप्लसिट। इसको हम क्या कहते हैं? इसको हम कहते हैं ये इंप्लसिट है। ऑटोमेटिकली हो रहा है। एंड दिस इज़ एक्सप्लसिट। ये ऑटोमेटिकली नहीं हो रहा। इसको प्रोग्रामर कर रहा है। तो ये कास्टिंग है जो हमें एक्सप्लसिटली जाके करनी पड़ती है। आल्सो अभी तक हमारी जितनी भी लर्निंग है, अब एक बार उस सारी लर्निंग को कंबाइन करके लेट्स राइट अ सिंपल प्रोग्राम। हम क्या करेंगे? एक सम का प्रोग्राम लिखेंगे। प्रोग्राम लिखने का लॉजिक ये है कि जितनी भी लर्निंग्स अभी तक हमने ली हैं, उन सारी डिफरेंट कॉन्सेप्ट्स को एक साथ हम कंबाइन कैसे करते हैं? तो, हमारे सम के प्रोग्राम क्या करेगा? सम प्रोग्राम में हम A एंड B दो इंटीजर नंबर्स हैं जिनको इनपुट लेंगे टर्मिनल से एंड फिर इन नंबर्स का जो सम है उसको कैलकुलेट करेंगे और फिर उसे स्क्रीन पर प्रिंट करवाएंगे। तो इसमें हम इनपुट भी 33:16 यूज़ कर लेंगे, आउटपुट भी यूज़ कर लेंगे। हम अपना टाइप कास्टिंग भी यूज़ कर लेंगे। तो मल्टीपल चीजें यूज़ हो जाएंगी। तो हाउ डू वी डू दैट? सबसे पहले तो हमें दोनों वैल्यूज़ को इनपुट लेना है। तो वी विल डिफाइन टू वेरिएबल्स। फर्स्ट इज़ दिस। हम ले लेंगे इनपुट एंटर ए अच्छा हम चाह तो इनपुट के साथ में ही टाइप कास्टिंग कर सकते हैं। मतलब जैसे ही वैल्यू हमने इनपुट ली उसको इंटीजर से सराउंड कर देंगे पैरेंथेसिस सेस तो वो ऑटोमेटिकली इंट के अंदर कन्वर्ट हो जाएगा। उसके बाद सिमिलरली हमने जैसे एंटर A किया वैसे ही वी कैन इनपुट B एंड इनका हम सम कैलकुलेट कर लेंगे व्हिच इज़ A + B एंड फाइनली हम प्रिंट कर देंगे इस सम को तो सम इज़ इक्वल टू दिस वैल्यू लेट्स सेव इट एंड रन द कोड तो हमने A के अंदर एंटर किया 125 B के अंदर एंटर किया 50 आंसर हमारे पास आ गया 1175 तो इस तरीके से हमने एक तरीके से एक छोटा सा सम कैलकुलेटर क्रिएट कर दिया है। बट यहां पे हमने इनपुट के लॉजिक को कंबाइन किया है। 34:16 आउटपुट के लॉजिक को कंबाइन किया है। कुछ कैलकुलेशन के लॉजिक को कंबाइन किया है। कमेंट्स वगैरह लिखे हैं। एंड टाइप कन्वर्ज़ टाइप कास्टिंग के लॉजिक को कंबाइन किया है। सो दिस इज़ हाउ वी कैन राइट अ सिंपल प्रोग्राम इन पाइथन। जैसे हमने यहां सम का प्रोग्राम लिखा है। यू कैन पॉज द लेक्चर हियर। आप वैसे ही माइनस करने का भी प्रोग्राम लिख सकते हो। मतलब सब्सट्रैक्शन का प्रोग्राम लिख सकते हो। या इनफैक्ट मल्टीप्लिकेशन भी लिख सकते हो। मल्टीप्लिकेशन के लिए कुछ नहीं करना। सिंपली यहां पे एस्टिस्क यूज़ करना है व्हिच इज़ यूज़्ड फॉर मल्टीप्लिकेशन इन प्रोग्रामिंग। तो मल्टीप्लिकेशन, डिवीज़, रिमेंडर इस तरीके के डिफरेंट ऑपरेशंस कैसे करने हैं उसको भी अभी हम आगे जाकर नेक्स्ट पार्ट के अंदर एक्सप्लोर करेंगे। तो अभी तक वी हैव लर्नड अबाउट टाइप कन्वर्ज़न कास्टिंग। वी हैव रिटन द सम प्रोग्राम। नाउ लेट्स टॉक अबाउट स्ट्रिंग्स। तो स्ट्रिंग्स को ऑलरेडी हम थोड़ा बहुत एक्सप्लोर कर चुके हैं प्रिंट करते हुए। पर लेट्स सपोज हमने कोई स्ट्रिंग क्रिएट की। ये दिस इज़ लेट्स सपोज आवर स्ट्रिंग। तो स्ट्रिंग को हम डबल कोट से भी क्रिएट कर सकते हैं। सिंगल कोट से भी क्रिएट कर सकते हैं। उसकी हम ऑलरेडी बात कर चुके हैं। जनरली द कन्वेंशन दैट आई फॉलो इज कि कभी भी अगर कोई वर्ड या कोई सेंटेंस लिखना होता है तो उस केस में आई टाइप डबल कोट्स। 35:18 पर कभी भी कोई सिंगल कैरेक्टर लिखना होता है। जैसे लेट्स सपोज़ कोई ग्रेड हमें स्टोर कराना है। इट इज़ ग्रेड ए और ग्रेड बी। तो उस सिंगल कैरेक्टर को आई स्टोर इट इन सिंगल कोट्स। तो आप भी सेम कन्वेंशन फॉलो कर सकते हो। नहीं तो सारी चीजें आप डबल कोट्स या सारी चीजें सिंगल कोट्स में भी लिख सकते हो। तो दैट इज़ आल्सो कंप्लीटली फाइन। तो इस तरीके से हम अपनी स्ट्रिंग्स को क्रिएट कर सकते हैं। अब जितनी भी स्ट्रिंग्स को हम क्रिएट करते हैं उनके ऊपर काफी सारे मेथड्स हैं। मेथड्स को कह सकते हैं हम ऑपरेशंस हैं जो हम परफॉर्म कर सकते हैं। तो लेट्स टॉक अबाउट स्ट्रिंग ऑपरेशंस। स्ट्रिंग ऑपरेशंस मतलब क्या-क्या उनके अंदर हम चेंजेस या मॉडिफिकेशंस लेकर आ सकते हैं। जैसे कोई भी स्ट्रिंग अगर हमारे पास है तो उसको पूरा का पूरा हम अपर केस के अंदर कन्वर्ट कर सकते हैं। जैसे इफ आई प्रिंट नेम डॉट अपर एंड सेव इट। तो हमारे पास पूरी की पूरी जो स्ट्रिंग है वो अपपर केस के अंदर कन्वर्ट होकर आ जाएगी। सिमिलरली हम चाहें तो पूरी की पूरी स्ट्रिंग को लोअर केस के अंदर भी कन्वर्ट कर सकते हैं यूजिंग लोअर। तो इस तरीके से सारी स्ट्रिंग लोअर केस के अंदर कन्वर्ट होकर आ जाएगी। प्लस देयर आर लॉट मोर 36:19 ऑपरेशंस। अच्छा वन थिंग दैट यू विल नोटिस इज़ कि जब हम स्ट्रिंग को अपर केस के अंदर कन्वर्ट करेंगे एंड उसके बाद दोबारा से अपनी स्ट्रिंग को प्रिंट करवाएंगे। लेट्स क्लियर दिस एंड रीन द कोड। तो हमारी पहले तो स्ट्रिंग सारी अपर केस में आ गई। पर उसके बाद स्ट्रिंग नॉर्मली वैसे ही प्रिंट हो के आई जैसी वो पहले थी। तो जब भी हम कोई ऑपरेशन अप्लाई करते हैं स्ट्रिंग्स के ऊपर वो हमारी ओरिजिनल स्ट्रिंग को चेंज नहीं करता। एंड दिस इज़ रियली रियली इंपॉर्टेंट। पython के अंदर जो स्ट्रिंग्स होती हैं दे आर इम्यूटेबल। इम्यूटेबल कहने का मतलब है कि हमने एक बार किसी स्ट्रिंग को क्रिएट कर लिया तो उसको हम चेंज नहीं कर सकते। हम चाहें तो कोई चेंज उसके अंदर लेकर आ सकते हैं। पर जैसे ही कोई चेंज लेके आएंगे एक न्यू स्ट्रिंग क्रिएट हो जाएगी। पर ओरिजिनल स्ट्रिंग के अंदर कोई चेंज नहीं हो सकता। जैसे यहां पर एक बार नेम के अंदर हमने टोनी स्टार इस तरीके से स्टोर करा दिया। तो यहां पर जब हम अपर करेंगे दिस अपर इज एक्चुअली रिटर्निंग और इट्स गिविंग अस अ न्यू स्ट्रिंग। ये ओरिजिनल स्ट्रिंग के अंदर कोई चेंज नहीं 37:20 कर रहा। जिसकी वजह से जब भी हम नेम को प्रिंट करवा रहे हैं दोबारा से हमारे पास ओरिजिनल नेम प्रिंट होकर आ जाएगा। तो दिस इज़ वन इंपॉर्टेंट थिंग दैट वी हैव टू रिमेंबर कि पाइथन स्ट्रिंग्स आर इम्यूटेबल इन नेचर। उसके अलावा स्ट्रिंग ऑपरेशंस में हमारे पास एक और ऑपरेशन होता है। अच्छा, देयर इज़ अ शॉर्टकट कमांड दैट वी कैन यूज़ फॉर कमेंटिंग व्हिच इज़ कमांड स्लैश। या कंट्रोल स्लैश को हम यूज़ कर सकते हैं। तो, जितना भी पार्ट हम सेलेक्ट करते हैं वीएस कोड में वो सारा एक साथ कमेंट आउट हो जाता है। स्ट्रिंग ऑपरेशंस में एक और चीज़ होती है कि हम कुछ भी चीज़ फाइंड करना चाहते हैं, तो उसके लिए हमारे पास फाइंड फंक्शन होता है। जैसे स्ट्रिंग के अंदर इफ आई वांट टू सर्च कि क्या एआर के आर्क एग्ज़िस्ट करता है? तो उसके लिए आई कैन प्रिंट नेम डॉट फाइंड। तो जो भी हमारा टाइप होता है या वेरिएबल होता है नेम उसके साथ डॉट लिखकर हम अपने ऑपरेशन को लिखते हैं। तो डॉट फाइंड करेंगे। क्या फाइंड करना चाहते हैं? हम आर्क स्ट्रिंग या सबस्ट्रिंग को फाइंड करना चाहते हैं। तो क्या वो एग्ज़िस्ट करती है? अगर एग्ज़िस्ट करती है तो उसका इंडेक्स हमारे पास रिटर्न होकर आ जाएगा। तो फाइंड फंक्शन क्या रिटर्न करता है? फाइंड फंक्शन इंडेक्स रिटर्न करता है। व्हाट इज़ इंडेक्स? 38:20 इंडेक्स इज़ आवर पोजीशन। स्ट्रिंग का हर एक कैरेक्टर एक पोजीशन पे स्टर्ड होता है। एंड हमारे जो पाइथन होता है वो ज़ीरो बेस्ड इंडेक्सिंग फॉलो करता है। ज़ीरो बेस्ड इंडेक्सिंग कहने का मतलब है पोजीशन वन इज़ इंडेक्स ज़ीरो। पोजीशन टू इज़ इंडेक्स वन। मतलब ये जो टी लिखा हुआ है यहां पे दिस इज़ इंडेक्स ज़ीरो। दिस इज़ इंडेक्स वन। इंडेक्स टू, इंडेक्स थ्री, इंडेक्स फोर पे स्पेस है। इंडेक्स फाइव पे एस है। सिक्स सेवन। तो सेवन पे हमारे पास आर्क का ए आ जाएगा। दैट इज़ व्हाई यहां पर हमारे पास सेवन प्रिंट होकर आया है। इसी तरीके से लेट्स सपोज़ आई सर्च फॉर T तो आई कैन प्रिंट नेम डॉट फाइंड। मुझे एक सिंगल कैरेक्टर T सर्च करना है। तो मुझे पता है t स्टार्टिंग इंडेक्स पे ही है। तो आंसर क्या प्रिंट होना चाहिए? आंसर हमारे लिए प्रिंट होना चाहिए ज़ीरो के इक्वल। लेट्स क्लियर दिस एंड रीडर। तो इस बार इंडेक्स क्या आ जाएगा? ज़ीरो आ जाएगा। अगर हम ऐसी वैल्यू सर्च करते हैं जो एग्ज़िस्ट ही नहीं करती। जैसे लेट्स सपोज़ आई वांट टू सर्च फॉर x तो x यहां पे एग्ज़िस्ट ही नहीं करता। तो उस केस में हमारे पास -1 आएगा। -1 मतलब इनवैलिड वैल्यू क्योंकि -1 कोई भी पोजीशन 39:22 नहीं हो सकती हमारी स्ट्रिंग्स के अंदर। तो इसीलिए ये दिखा रहा है कि ये जो वैल्यू आप फाइंड आउट करने की कोशिश कर रहे हो दिस डज़ नॉट एग्ज़िस्ट इन द स्ट्रिंग। तो ये तो फाइंड ऑपरेशन हो गया। इसके साथ में एक और इंपॉर्टेंट ऑपरेशन होता है हमारे पास व्हिच इज़ कॉल्ड द रिप्लेस ऑपरेशन। रिप्लेस से हम किसी भी वैल्यू को किसी दूसरी वैल्यू से स्ट्रिंग के अंदर रिप्लेस कर सकते हैं। जैसे आई वांट टू रिप्लेस दिस एंटायर स्ट्रिंग विद समथिंग एल्स। लेट्स सपोज़ हम प्रिंट करना चाहते हैं नेम डॉट रिप्लेस। हमारी जो भी स्ट्रिंग है मतलब स्ट्रिंग के अंदर जहां पे भी टोनी स्टार्क लिखा हुआ है उसको हम रिप्लेस करना चाहते हैं विद आयरन मैन। तो इसको एक बार सेव कर लेते हैं। एंड लेट्स क्लियर। तो जू प्रिंट करवाएंगे। अब हमारी स्ट्रिंग क्या बन गई? अब हमारी स्ट्रिंग आयरन मैन बन गई। सो दिस इज़ रिटर्निंग अ न्यू स्ट्रिंग टू अस जिसके अंदर ये पुरानी वैल्यू कंप्लीटली रिप्लेस हो गई है। हम चाहें तो एक पार्ट को भी रिप्लेस कर सकते हैं। जैसे सिर्फ स्टार्क को अगर हम रिप्लेस करना चाहें तो इस बार टोनी एज़ इट इज़ है। सिर्फ स्टार्क की जगह हमारे पास आयरन मैन आ गया। या फिर इफ आई वांट टू रिप्लेस टी विएच। 40:25 लेट्स क्लियर एंड रीरन। तो इंस्टेड ऑफ़ टोनी स्टार्क नाउ टी इज़ रिप्लेस्ड विथ पीए वीए। सो वी हैव फोनी स्टार्क। तो इस तरीके से हम रिप्लेस ऑपरेशन को परफॉर्म कर सकते हैं अपनी स्ट्रिंग्स पर। प्लस वी कैन आल्सो चेक फॉर प्रेजेंस। मतलब हम ये चेक कर सकते हैं कि कोई भी कैरेक्टर हमारी स्ट्रिंग के अंदर या कोई भी सबस्ट्रिंग मतलब छोटा पार्ट हमारी स्ट्रिंग के अंदर एग्ज़िस्ट करता है या नहीं करता। एंड उसके लिए बहुत सिंपल सा ऑपरेशन होता है। आई कैन जस्ट चेक लेट्स सपोज़ हम इस नेम के अंदर चेक करना चाहते हैं कि कैपिटल S करता है। तो उसके लिए हम लिख सकते हैं लेट्स कमेंट दिस आउट। उसके लिए हम लिख सकते हैं कैपिटल S इन जो भी हमारी स्ट्रिंग का नाम है। तो इन इज अ कीवर्ड इन पython जो हमारे लिए प्रेजेंस को चेक करता है। मतलब इन क्या चेक कर रहा है? इन चेक कर रहा है कि क्या कैरेक्टर कैपिटल एस नेम नाम की स्ट्रिंग के अंदर एग्ज़िस्ट करता है। लेट मी रिमूव ऑल ऑफ़ दिस। तो सिंस हमें ऑलरेडी पता है कैपिटल एस एक्सिस्ट करता है। तो यहां पे हमारे पास ट्रू प्रिंट होकर आएगा कि यस दिस कैरेक्टर एग्ज़िस्ट। इट्स रन द कोड एंड हमारे पास 41:26 ट्रू प्रिंट होकर आ जाएगा। अगर यहीं पर हम x के लिए चेक करेंगे इट डज़ंट एग्ज़िस्ट। तो, हमारे पास यहां पर फॉल्स प्रिंट होकर आ जाएगा। तो, यह क्या रिटर्न कर रहा है? यह हमें एक बुलियन वैल्यू ऐज़ द आउटपुट रिटर्न कर रहा है। अच्छा, इन एक कीवर्ड होता है। कीवर्ड क्या होते हैं? हैं पाइथन के अंदर या किसी भी प्रोग्रामिंग लैंग्वेज के अंदर कीवर्ड्स हमारे रिजर्व्ड वर्ड्स होते हैं। रिजर्व्ड वर्ड्स कहने का मतलब है जैसे इंग्लिश के अंदर एक डिक्शनरी होती है। डिक्शनरी के अंदर सारे के सारे इंग्लिश लैंग्वेज के वर्ड्स पहले से डिफाइंड होते हैं कि ये सारे के सारे वर्ड्स हैं। वैसे ही पाइथन के अंदर या किसी भी प्रोग्रामिंग लैंग्वेज की अपनी एक डिक्शनरी होती है। जिस डिक्शनरी के अंदर उसके कुछ रिजर्व्ड वर्ड्स होते हैं। रिजर्व्ड वर्ड्स या कीवर्ड्स वो वर्ड्स होते हैं जिनका मीनिंग पहले से ही पाइथन के अंदर डिफाइंड होता है। इनको हम एज वेरिएबल नेम यूज़ नहीं कर सकते। तो इन का मतलब इन ही रहेगा पाइथन के अंदर। मतलब ये ऑपरेटर ही रहेगा प्रेजेंस को चेक करने के लिए। जैसे पाइthन के अंदर इफ आई राइट ट्रू तो ट्रू का मतलब ट्रू ही रहेगा। ये बुलियन वैल्यू ट्रू दिखाने के लिए ही यूज़ होगा पाइथन के अंदर। हम ऐसे नहीं कर सकते कि ट्रू को हमने क्या बना दिया? एक वेरिएबल बना दिया। और इसके अंदर कोई भी वैल्यू ए बी सी हमने स्टोर कर ली। ये अगर हम करेंगे 42:28 तो इट्स गोइंग टू गिव अस एन एरर। एरर क्या कि कैन नॉट असाइन टू ट्रू। हम कोई भी वैल्यू ट्रू को असाइन नहीं कर सकते। क्योंकि ट्रू एक कीवर्ड है जिसका ऑलरेडी एक फिक्स्ड मीनिंग है। जबकि अगर यहां पर हम कुछ भी ए बी सी डी लिख देते तो उस केस में कोई एरर नहीं आता। बिकॉज़ ए बी सी डी इज़ नॉट अ रिजर्व्ड कीवर्ड। ए बी सी डी इज़ नॉट अ कीवर्ड इन पाइथन। तो कीवर्ड्स रिजर्व्ड वर्ड्स होते हैं। एंड हमारे पास बहुत सारे कीवर्ड्स होते हैं जिनमें से मेजॉरिटी हम आज के सेशन के अंदर कवर ही कर देंगे। जैसे ट्रू एक रिजर्व कीवर्ड होता है या फिर इन एक रिजर्व कीवर्ड होता है या फिर फॉल्स एक रिजर्व्ड कीवर्ड होता है। अभी आगे जाकर हम देखेंगे नेक्स्ट पार्ट्स के अंदर कि वाइल भी एक रिजर्व कीवर्ड होता है। फॉर भी रिजर्व कीवर्ड होता है। ब्रेक होता है, कंटिन्यू होता है। तो इस तरीके से वी हैव अ लॉट ऑफ रिज़र्व्ड कीवर्ड्स जिनको आज के सेशन के अंदर हम एक्सप्लोर करेंगे। सो दिस इज़ व्हेयर वी हैव कंप्लीटेड आवर पार्ट टू। एंड अब हमें अपनी प्रैक्टिस एक्सरसाइज टू को सॉल्व करना है। वंस अगेन यहां पे लेक्चर को पॉज करना है। खुद से पहले सॉल्व करने की कोशिश करनी है। एंड फिर उसके बाद अपने आंसर्स को जो भी प्रैक्टिस क्वेश्चंस के आंसर्स नीचे दिए गए हैं उसके साथ हमें टैली करना है। एंड नाउ लेट्स मूव ऑन टू पार्ट थ्री। नाउ इन 43:26 पार्ट थ्री, दीज़ आर द टॉपिक्स दैट वी आर गोइंग टू कवर। सबसे पहले बात करते हैं अपने एरिथमैटिक ऑपरेटर्स के बारे में। हमने मैथ्स के अंदर बहुत सारे ऑपरेटर्स कवर किए हैं। मतलब मैथ्स के अंदर हमने डिफरेंट-डिफरेंट ऑपरेशंस देखे होंगे। जैसे कभी भी अगर हमारे पास कोई नंबर है वी वांट टू डू 2 + 2 तो जब भी इस तरीके का एक्सप्रेशन हम मैथ के अंदर लिखते हैं या इवन प्रोग्रामिंग के अंदर लिखते हैं तो इसके अंदर प्लस को हम कहते हैं अपना ऑपरेटर। प्लस इज़ व्हाट? इट इज़ आवर ऑपरेटर। एंड जिन भी वैल्यूज़ को हम ऐड कर रहे होते हैं, सम ले रहे होते हैं, उनको हम कहते हैं अपने ऑपरेंट्स। तो हमारे पास बहुत सारे टाइप्स ऑफ़ ऑपरेटर्स होते हैं प्रोग्रामिंग के अंदर जिसको हम डिफरेंट-डिफरेंट ऑपरेशंस को परफॉर्म करने के लिए यूज़ करते हैं। इसमें से सबसे पहले टाइप ऑफ़ ऑपरेटर जिसको हम पढ़ने वाले हैं आर कॉल्ड एरिथममेटिक ऑपरेटर्स। एरिथमैटिक ऑपरेटर्स को हम जनरली मैथमेटिकल कैलकुलेशंस करने के लिए यूज़ करते हैं। जैसे मैथ के अंदर हम प्लस करते हैं, माइनस करते हैं, मल्टीप्लाई करते हैं, डिवाइड करते हैं। वही सारे काम प्रोग्रामिंग के अंदर हम एरिथममेटिक ऑपरेटर से परफॉर्म करते हैं। जैसे एग्जांपल के लिए लेट्स सपोज़ वी हैव टू नंबर्स। हम एग्जांपल ले लेते हैं फाइव एंड थ्री का। सो इफ वी वांट वी कैन ऐड द टू नंबर्स। तो इसको हम कहेंगे 44:28 यह हमारा प्लस या एडिशन ऑपरेटर है एरिथमैटिक में। तो ये क्या करेगा? हमें ऐड करके रिजल्ट दे देगा। उसी तरीके से हम चाहें तो माइनस भी कर सकते हैं। तो माइनस के लिए हमारे पास सेम माइनस ऑपरेटर है। हम चाहें तो दो नंबर्स को मल्टीप्लाई भी कर सकते हैं। मल्टीप्लाई करने के लिए हमारे पास एस्टर रिस्क होता है व्हिच इज़ द मल्टीप्लिकेशन ऑपरेटर। हम चाहें तो दो नंबर्स को डिवाइड भी कर सकते हैं। तो डिवाइड करने के लिए वी हैव द स्लैश। तो 5 / 3 हमारे पास वन आ जाएगा। तो लेट्स लुक एट द रिजल्ट्स। तो यहां पर 5 + 3 8 आ गया है। 5 - 3 2 आ गया है। 5 * 3 15 आ गया है। एंड 5 / 3 हमारे पास प्रॉपर डेसिमल वैल्यू में हमारी कशंट वैल्यू आई है। व्हिच इज़ 1.67। अच्छा अगर हमें डेसिमल के अंदर कोशेंट वैल्यू नहीं चाहिए। हमें सिर्फ इंटीजर पार्ट चाहिए तो उसके लिए व्हाट कैन वी डू? वहां पर वी यूज़ डबल स्लैश। तो अगर हम डबल स्लैश को यूज़ करते हैं तो हमारे पूरे कोशंट में से जो भी डेसिमल के बाद वाला पार्ट है वो कंप्लीटली रिमूव हो जाता है और सिर्फ इंटीजर कोशंट हमारे पास आता है। तो ये तो हमारे सिंपल एरिथमैटिक ऑपरेटर्स 45:28 हैं जो हमने मैथ के अंदर भी देखे हैं। पर Python के अंदर कुछ और ऑपरेशंस ऐसे होते हैं जो जनरली जिनके लिए डायरेक्ट सिंबल्स हम यूज़ नहीं करते मैथ के अंदर। जैसे सबसे पहला ऑपरेशन इज़ मॉड्यूलो। इसको हम क्या कहते हैं? इसको हम मॉड्यूलो कहते हैं। और मॉड्यूल का काम होता है रिमेंडर वैल्यू को कैलकुलेट करना। मतलब यहां पे तो डिवाइड करने के बाद हमें क्वेश्चन मिल रहा था। पर यहां पर डिवीज़ के बाद जो भी रिमाइंडर वैल्यू रह जाती है वो हमें मिलेगी। जैसे फाइव को थ्री से डिवाइड करेंगे तो रिमाइंडर में वैल्यू टू बचेगी। तो लेट्स लुक एट द रिजल्ट। लास्ट में हमारे पास टू प्रिंट होकर आ जाएगा। तो ये हमारा मॉड्यूल ऑपरेटर होता है। इसके साथ में हमारे पास पावर ऑपरेटर भी होता है। जैसे इफ आई वांट टू कैलकुलेट 5 रेज़ टू द पावर 3 मतलब अगर हम ये वैल्यू कैलकुलेट करना चाहते हैं 5 रेज़ टू द पावर 3 व्हिच विल बी 125 तो उसको कैलकुलेट करने के लिए वी यूज़ डबल एस्टर रिस्क जो पावर को सिग्निफाई करता है। तो लेट्स क्लियर दिस एंड रीडर। तो हमारे पास 125 प्रिंट होकर आ जाएगा। सो दीज़ आर द मेजर एरिथमैटिक ऑपरेटर्स जिनका हमें पता होना चाहिए जब भी हम पाइथन के अंदर 46:30 प्रोग्रामिंग कर रहे हैं। प्लस जैसे हमारे पास एररिथमैटिक ऑपरेटर्स होते हैं वैसे ही हमारे पास कुछ शॉर्टकट्स भी होते हैं। कैलकुलेशंस के अंदर वी हैव सम शॉर्टकट्स जिनको हम अपने असाइनमेंट ऑपरेटर्स भी कहते हैं। जैसे अगर हमें कोई भी वैल्यू किसी वेरिएबल को असाइन करनी है तो हम सिंपली क्या कर सकते हैं? जैसे आई कैन राइट CGP = 9.6 तो ये वैल्यू हमने क्या कर दी? अपने वेरिएबल को असाइन कर दी। अब कभी भी अगर हमें इस वैल्यू पर कुछ ऑपरेशंस परफॉर्म करने हैं। जैसे लेट्स सपोज आई राइट x = 1 एंड अब x के अंदर हम फाइव को ऐड करना चाहते हैं। लेट्स सपोज दिस इज़ द ऑपरेशन दैट आई वांट टू परफॉर्म। तो फाइनली हमारी x की वैल्यू क्या हो जाएगी? सिक्स हो जाएगी। क्योंकि वन के अंदर ये वन है। यहां पे हम फाइव को ऐड करेंगे। सिक्स हो जाएगा। वो जाकर दोबारा से हमारे x के अंदर असाइन हो जाएगा। अब इसी चीज को लिखने का एक शॉर्टर तरीका होता है कि हम इसको लिख दें x + = 5। इसी सेम लाइन को हम इस तरीके से भी लिख सकते हैं कि उसी x के अंदर फाइव को ऐड कर दो और उसी x के अंदर वेरिएबल के अंदर स्टोर कर दो। उसको लिखने का तरीका 47:30 होता है x + = 5 एंड इसके बाद जब हम x की वैल्यू को चेक करेंगे। लेट्स कॉमेंट दिस आउट। तो इट इज़ गोइंग टू बी इक्वल टू सिक्स। तो ये सिक्स हमारे पास यहां पर प्रिंट होकर आ जाएगा। तो हम चाह तो वैल्यूस को x = x + 5 को शॉर्ट में x + = 5 कह सकते हैं। तो इसको हम अपना एक असाइनमेंट ऑपरेटर कहते हैं। यही सेम काम सबट्रैक्शन के लिए भी हो सकता है, मल्टीप्लिकेशन के लिए भी हो सकता है। जैसे इफ आई डू लेट्स क्लियर दिस। इफ आई वांट टू डू x = x - 1 तो हमें पता है हमारे पास आंसर हो जाएगा ज़ीरो के इक्वल। तो इसी को शॉर्ट में लिखने का तरीका है दैट वी डू x - = 1 एंड उसके बाद अगर हम x की वैल्यू को प्रिंट करें तो हमारे पास ज़ीरो आ जाएगा। यहीं पर हम चाहें तो मल्टीप्लाई भी कर सकते हैं। मल्टीप्लाई इक्वल टू फाइव करें तो 1 * 5 या इसको टू ले लेते हैं। तो ये क्या हो जाएगा? दिस विल बी इक्वल टू 2 * / 5 जिसका आंसर आना चाहिए 10 के इक्वल। तो हमारे पास यहां पर 48:32 वैल्यू आ जाएगी 10 के इक्वल। तो यहां पर हम मल्टीप्लाई इक्वल टू भी यूज कर सकते हैं। सिमिलरली हम चाहें तो x डिवाइड इक्वल टू भी यूज कर सकते हैं। डिवाइड इक्वल टू एनी नंबर लेट्स सपोज फाइव। हम x पावर इक्वल टू भी यूज़ कर सकते हैं। मॉड्यूल इक्वल टू भी यूज़ कर सकते हैं। तो हमारे पास मल्टीपल डिफरेंट असाइनमेंट ऑपरेटर्स हैं जो एज शॉर्टकट्स यूज़ किए जा सकते हैं हमारी कैलकुलेशंस के अंदर। तो अभी आगे वाले पार्ट में हम लूप्स को पढ़ेंगे। तो लूप्स के अंदर एक ऑपरेशन होता है जो हमें बार-बार करना पड़ता है। लूप्स एग्जैक्टली क्या होते हैं? अभी हम बात करेंगे। पर उनके अंदर अगर हमारे पास कोई भी वेरिएबल है लेट्स सपोज आई हैव अ वेरिएबल i तो i के अंदर बार-बार हमें क्या करना होता है? i के अंदर जनरली हमें बार-बार +1 करना होता है। तो इसी चीज को शॉर्ट में लिखने का तरीका होता है i + = 1 सो दिस इज़ वन एक्सप्रेशन जो इन जनरल पython के अंदर या इनफैक्ट प्रोग्रामिंग के अंदर हमें बार-बार देखने को मिलेगा। तो काफी इंपॉर्टेंट है इस तरीके के असाइनमेंट ऑपरेटर शॉर्टकट्स को ध्यान में रखना। अच्छा जब भी हम ऑपरेटर्स की बात करते हैं, देयर इज़ वन मोरेंट कांसेप्ट जो ऑपरेटर्स के साथ आता है। व्हिच इज़ कॉल्ड ऑपरेटर 49:36 प्रिसीडेंस। ऑपरेटर प्रिसीडेंस इज़ लाइक बड मास इन मैथ। मैथ के अंदर हमने बड मास को पढ़ा था। मतलब अगर हमारे पास कोई एक्सप्रेशन गिवन होता है। लेट्स सपोज आई हैव एन एक्सप्रेशन 2 + 5 * 3 तो इस तरीके का हमारे पास एक्सप्रेशन है। अब इस एक्सप्रेशन के अंदर चॉइस होती है कि या तो हम मल्टीप्लाई पहले कर सकते हैं। अगर हमने पहले मल्टीप्लाई किया तो उस केस में आंसर क्या हो जाएगा? उस केस में आंसर 17 हो जाएगा 15 + 2 लेकिन अगर हमने ऐड पहले किया तो उस केस में हमारे पास आंसर हो जाएगा 7 * 3 21 के इक्वल। तो डिपेंडिंग अपॉन कौन सा ऑपरेशन हम पहले परफॉर्म करते हैं। हमारा रिजल्ट चेंज हो जाता है। तो मैथ के अंदर तो उस चीज को बड मास सॉल्व करता है। पर वही चीज प्रोग्रामिंग के अंदर हमारे लिए ऑपरेटर प्रिसिडेंस सॉल्व करते हैं। ऑपरेटर प्रिसिडेंस आर बेसिकली रूल्स। ये रूल्स हमें बताते हैं कि कौन से ऑपरेटर की हायर प्रिसिडेंस है। मतलब हायर प्रायोरिटी है। कौन सा ऑपरेशन पहले परफॉर्म होगा, कौन सा बाद में परफॉर्म होगा। जैसे इन जनरल जो भी मल्टीप्लाई होता है या डिवाइड होता है इनकी ग्रेटर प्रायोरिटी होती है एज कंपेयर 50:37 टू प्लस एंड माइनस। तो अगर कहीं भी मल्टीप्लाई या डिवाइड है तो वो पहले परफॉर्म होगा। प्लस माइनस बाद में परफॉर्म होगा। इनफैक्ट मल्टीप्लाई डिवाइड अगर साथ में है तो उस केस में हम लेफ्ट से राइट की तरफ जाते हुए अपने ऑपरेशंस को परफॉर्म करते हैं। जैसे यहां पर इफ आई राइट द सेम थिंग व्हिच इज़ 2 + 5 * 3 तो मल्टीप्लाई की हायर प्रिसिडेंस है तो सबसे पहले ये वैल्यू कैलकुलेट होगी व्हिच इज़ 15 उसके अंदर टू ऐड होगा और हमारा जो आंसर वैल्यू निकल कर आएगी दैट इज़ गोइंग टू बी इक्वल टू 17 तो इसको रन करेंगे तो हमारे पास आंसर आएगा 17 के इक्वल। अच्छा इस तरीके से जब भी एक्सप्रेशनंस लिखे होते हैं तो जनरली उसके अंदर कंफ्यूजन होता है। तो ऑपरेटर प्रिसिडेंस के अंदर सबसे ज्यादा जो हायर प्रिसिडेंस होती है वो हमारे पैरेंथेसिस की होती है। वेरी सिमिलर टू मैथ कि अगर हम चाहते हैं कि बाय डिफ़ॉल्ट तो 5 * 3 कैलकुलेट हो रहा है। पर हम चाहते हैं कि 2 * 5 पहले कैलकुलेट हो। तो उसके लिए हम अपने ब्रैकेट्स को यूज़ कर सकते हैं। जैसे इफ आई यूज़ ये पैरेंथेसिस हियर। तो पैरेंथेसिस क्या कर देंगे? सारी चीजों को 51:37 ओवराइड कर देंगे। तो यहां पर पैरेंथेसिस यूज़ हो गए। तो अब हमारे पास आंसर आ जाएगा 21 के इक्वल। तो कभी भी अगर हम कुछ स्पेसिफिक कैलकुलेशंस को परफॉर्म करना चाहते हैं तो वहां पर अगर हम चाहते हैं कि आंसर वैसे ही कैलकुलेट हो जैसे हम सोच रहे हैं। तो इट्स ऑलवेज अ गुड प्रैक्टिस टू यूज़ पैरेंथेसिस इंस्टेड ऑफ़ लीविंग ए्बिगुटी। तो हम हमेशा पैरेंथेसिस को यूज़ कर सकते हैं जब भी हमारे पास कोई कॉम्प्लेक्स कैलकुलेशंस आते हैं। नाउ द नेक्स्ट टाइप ऑफ़ ऑपरेटर्स दैट वी हैव आर कॉल्ड कंपैरिजन ऑपरेटर्स। कंपैरिजन ऑपरेटर्स दो वैल्यू को कंपेयर करने का काम करते हैं। तो ये हो गए हमारे कंपैरिजन ऑपरेटर्स। कंपेयर करके ये हमें ट्रू या फॉल्स रिटर्न करते हैं। जैसे एग्जांपल के लिए अगर हमें चेक करना है इफ 3 इज ग्रेटर दैन टू ऑ नॉट तो जब भी हमारे पास इस तरीके का एक्सप्रेशन होगा यहां पे ये ग्रेटर दैन इज़ कॉल्ड अ कंपैरिजन ऑपरेटर। तो यहां पर हम प्रिंट करवा सकते हैं थ्री इज़ ग्रेटर दैन टू। तो जब भी कंपैरिजन ऑपरेटर्स का हमें आउटपुट चेक करना हो तो हमें सिंपली इस तरीके से पढ़ना है कि क्या थ्री > 2 है? इज़ 3 > 2 इफ द आंसर इज़ ट्रू। अगर इस स्टेटमेंट को देखकर आंसर ट्रू आ रहा है तो 52:37 उस केस में हमारे पास ट्रू आ जाएगा। नहीं तो हमारे पास फॉल्स आ जाएगा। जैसे इफ आई प्रिंट द आंसर इज़ गोइंग टू बी ट्रू। बट यहीं पर इफ आई डू वन इज़ ग्रेटर दैन टू तो उस केस में द आंसर इज़ गोइंग टू बी फॉल्स। बिकॉज़ दिस स्टेटमेंट इज़ अनट्रू। अब जैसे हमारे पास ग्रेटर दैन होता है वैसे ही हमारे पास लेस दैन भी होता है। जैसे इफ आई वांट टू चेक टू इज़ लेस दैन फाइव। तो उस केस में वी विल गेट ट्रू। बट इफ आई चेक टू इज़ लेस दैन वन, तो उस केस में वी आर गोइंग टू गेट फॉल्स। तो हमारे पास ग्रेटर दैन होता है। कंपैरिजन ऑपरेटर्स में लेस दैन होता है। हमारे पास ग्रेटर दैन इक्वल टू भी होता है एंड लेस दैन इक्वल टू भी होता है। जैसे इफ आई वांट टू चेक इज़ टू लेस दैन इक्वल टू टू तो यस द आंसर इज़ गोइंग टू बी ट्रू कि ठीक है लेस दैन तो नहीं है पर इक्वल टू है तो उस केस में ट्रू हो जाएगा। बट यहां पर अगर फाइव हो जाए तो उस केस में भी वी विल गेट अ ट्रू वैल्यू। तो ये भी हमारे पास ट्रू वैल्यू हो जाएगी। वैसे ही हमारे पास ग्रेटर दैन इक्वल टू हो जाए तो टू इज़ ग्रेटर दैन इक्वल टू फाइव डेफिनेटली नो। तो उस केस में हमारे पास फॉल्स आ जाएगा। इसके साथ में वी आल्सो हैव टू मोरेंट ऑपरेशंस। फर्स्ट इज़ इक्वल टू इक्वल 53:40 टू। इक्वल टू इक्वल टू चेक करता है कि दोनों वैल्यूज़ लेफ्ट एंड राइट इक्वल टू है क्या? जैसे इज़ टू इक्वल टू इक्वल टू फाइव। नो दिस इज़ फॉल्स। लेकिन अगर हम चेक करें टू क्या इक्वल टू इक्वल टू टू है? तो उस केस में वी आर गोइंग टू गेट ट्रू वैल्यू। जैसे इक्वल टू होता है वैसे ही हमारे पास नॉट इक्वल टू होता है। अच्छा वनेंट डिस्टिंशन मैथ के अंदर जब भी हमें लिखना होता है क्या a इक्वल टू b है तो हम सिंगल इक्वल टू लिखते हैं। लेकिन प्रोग्रामिंग के अंदर सिंगल इक्वल टू इज़ कॉल्ड एन असाइनमेंट ऑपरेटर। जिसका काम होता है b की वैल्यू को a के अंदर ट्रांसफर करना। तो जब भी हमें इक्वल टू दिखाना होता है, हम हमेशा डबल इक्वल टू यूज़ करते हैं। और जब भी नॉट इक्वल टू दिखाना होता है, तो दिस इज द सिंबल दैट वी यूज़ कि इज़ टू नॉट इक्वल टू फाइव। मतलब क्या टू फाइव के इक्वल नहीं है? तो यस दिस स्टेटमेंट इज़ ट्रू। कि टू फाइव के इक्वल नहीं है। तो उस केस में हमारे पास ट्रू आ जाएगा। बट इफ आई राइट इफ टू इज़ नॉट इक्वल टू टू। तो उस केस में वी आर गोइंग टू गेट फॉल्स। बिकॉज़ दिस स्टेटमेंट इज़ फॉल्स। इसको हम एक स्टेटमेंट 54:41 कह रहे हैं कि ये एक्सप्रेशन क्या कहने की कोशिश कर रहा है? ये कहने की कोशिश कर रहा है कि टू टू के इक्वल नहीं है। व्हिच इज़ एब्सोलुटली फॉल्स। तो इसीलिए हमारे पास बुलियन में फॉल्स वैल्यू प्रिंट होकर आ रही है। तो जब भी हमें प्रोग्रामिंग के अंदर जनरली नॉट दिखाना होता है। किसी चीज़ का ऑपोजिट दिखाना होता है तो उसके लिए हम एक्सक्लमेशन सिंबल को यूज़ करते हैं। व्हिच सिग्निफाइज़ और व्हिच डिनोट्स द नॉट सिंबल और द नॉट मीनिंग। तो ये सारे के सारे हमारे कंपैरिजन ऑपरेटर्स हैं। इसके बाद हमारे पास एक और तरीके के ऑपरेटर्स होते हैं व्हिच आर कॉल्ड लॉजिकल ऑपरेटर्स। लॉजिकल ऑपरेटर्स तीन होते हैं पाइthon के अंदर और ये हमारे एक्सप्रेशनंस के लॉजिक को डिनोट करते हैं। कौन से तीन लॉजिकल ऑपरेटर्स होते हैं? वी हैव थ्री लॉजिकल ऑपरेटर्स और एंड एंड नॉट। सबसे पहले और की बात करते हैं। ये ऑपरेटर्स जो हैं वो एक्सप्रेशनंस के ऊपर काम करते हैं कि ये एक्सप्रेशन वन या स्टेटमेंट वन हो गई। ये एक्सप्रेशन टू या स्टेटमेंट टू हो गई और दोनों के बीच में हमने क्या किया? और लगा दिया। और हमें 55:43 ट्रू तब देता है जब स्टेटमेंट वन या स्टेटमेंट टू में से कोई भी एक ट्रू हो जाए। जैसे स्टेटमेंट वन ये हो सकती है, स्टेटमेंट टू ये हो सकती है। अब इन जनरल इंग्लिश के अंदर तो स्टेटमेंट्स कुछ भी हो सकती हैं। जैसे लेट्स सपोज स्टेटमेंट वन इज़ कि सन ऑलवेज राइज़ज़ फ्रॉम द ईस्ट। स्टेटमेंट टू इज़ सन ऑलवेज राइज़ज़ फ्रॉम द वेस्ट। अब हमें पता है ये स्टेटमेंट फॉल्स है। पर ये स्टेटमेंट ट्रू है। तो दोनों में से कोई भी एक ट्रू होगी। तो और क्या करेगा? फाइनल रिजल्ट हमें ट्रू रिटर्न करके दे देगा। जैसे हाउ डू वी चेक दिस? लॉजिकल ऑपरेटर्स की बात करते हैं। जैसे लेट्स सपोज हमारे पास हमारी स्टेटमेंट वन है। लेट्स कॉल द स्टेटमेंट वन। स्टेटमेंट वन है थ्री इज़ ग्रेटर दैन फाइव व्हिच इज़ डेफिनेटली फॉल्स। एंड स्टेटमेंट टू है थ्री इज़ ग्रेटर दैन ट्रू। व्हिच इज़ ट्रू। तो हम लिख सकते हैं स्टेटमेंट वन और स्टेटमेंट टू। तो स्टेटमेंट वन बेसिकली एक इस तरीके का एक्सप्रेशन होना चाहिए जिसकी अपने आप में एक बूलियन वैल्यू है और ये भी 56:43 ऐसा एक्सप्रेशन होना चाहिए जो कुछ ना कुछ बुलियन वैल्यू दे रहा हो। तो दोनों बुलियंस का फाइनल क्या बुलियन रिजल्ट आएगा? ट्रू आएगा या फॉल्स आएगा वो और में क्या लॉजिक है उसके ऊपर डिफाइन करता है। तो और का लॉजिक यही कहता है कि दोनों में से कोई भी एक ट्रू होगा तो ये ट्रू दे देगा। नहीं तो ये हमें फॉल्स दे देगा। अगर दोनों फॉल्स हैं। तो दोनों में से एक ट्रू है तो उस केस में इसने ट्रू दे दिया। अगर दोनों को ही हम फॉल्स कर दें। जैसे 3 > 12 कर दें तो उस केस में वी आर गोइंग टू गेट अ फॉल्स वैल्यू। अच्छा ये जो स्टेटमेंट्स हैं इनको डायरेक्टली हम यहां पर भी लिख सकते हैं। आई कैन इनफैक्ट कॉपी दिस हियर एंड जस्ट राइट इट लाइक दिस। तो उस केस में भी वी आर गोइंग टू गेट अ क्लियर बुलियन रिजल्ट। तो और के लॉजिक को अगर और डिटेल में समझें तो और का लॉजिक क्या कहता है? और बेसिकली सेज़ कि इफ लेट्स सपोज़ दिस इज़ माय स्टेटमेंट वन एंड दिस इज़ माय स्टेटमेंट टू। और यहां पर अगर हम अपने रिजल्ट की बात करें तो स्टेटमेंट वन अगर फॉल्स है, स्टेटमेंट टू भी फॉल्स है। या तो ये फॉल्स हो सकती है, ट्रू हो सकता है या ये ट्रू हो सकता है, ये फॉल्स हो सकता है या दोनों ट्रू हो सकते हैं। जब दोनों 57:45 फॉल्स हैं, तब तो हमारा रिजल्ट फॉल्स ही होगा। बाकी सारे केसेस में द रिजल्ट इज़ गोइंग टू बी ट्रू। क्योंकि दोनों में से कोई भी एक वैल्यू ट्रू है। तो, यह पूरा का पूरा और का लॉजिक होता है। नेक्स्ट ऑपरेटर इज़ द एंड ऑपरेटर। एंड क्या कहता है? एंड कहता है कि दोनों एक्सप्रेशन जब ट्रू होंगे तभी हम ट्रू वैल्यू रिटर्न करेंगे। नहीं तो बाकी सारे केसेस में फॉल्स वैल्यू रिटर्न करेंगे। मतलब यहां पर ये एक्सप्रेशन क्या होगा? ट्रू होगा 3 लेस < 5 और ये एक्सप्रेशन भी ट्रू होगा। 3 लेस < 12 तो उस केस में तो वी आर गोइंग टू गेट अ ट्रू। नहीं तो बाकी सारे केसेस में लेट्स मेक दिस एंड बाकी सारे केसेस में चाहे एक भी ट्रू हो वहां पर हम फॉल्स रिटर्न करेंगे। जबकि अगर दोनों ट्रू हो तो उस केस में हमारे पास ट्रू वैल्यू रिटर्न होकर आ जाएगी। तो एंड कौन सा लॉजिक फॉलो करता है? एंड लॉजिक फॉलो करता है कि दोनों फॉल्स हैं। लेट्स मेक अ कॉपी ऑफ़ दिस। एंड लॉजिक फॉलो करता है कि दोनों अगर फॉल्स हैं, उस केस में तो फॉल्स आएगा। लेकिन जहां पर भी एक भी वैल्यू फॉल्स है, वहां पर भी हम 58:46 फॉल्स वैल्यूज़ देंगे। जहां पर दोनों ट्रू है, सिर्फ वहीं पर वैल्यू ट्रू होनी चाहिए। एंड मतलब स्टेटमेंट वन भी ट्रू होनी चाहिए और स्टेटमेंट ट्रू भी ट्रू होनी चाहिए। उसके बाद आता है हमारा थर्ड लॉजिकल ऑपरेटर व्हिच इज़ नॉट। नॉट क्या करता है? नॉट बेसिकली डज़ दी ऑोजिट ऑफ़ व्हाट द स्टेटमेंट इज़ सेइंग। जैसे अगर हमारी कोई भी वैल्यू ट्रू है, जैसे यहां पर इवन इफ आई डायरेक्टली राइट ट्रू। लेट्स क्लियर दिस एंड रीरन। तो हमारे पास ट्रू प्रिंट हो जाएगा। बट इफ आई राइट नॉट ऑफ़ ट्रू, तो हमारे पास फॉल्स आ जाएगा। एंड इफ आई राइट नॉट ऑफ़ फॉल्स, तो हमारे पास ट्रू आ जाएगा। इस फॉल्स की जगह कोई भी एक्सप्रेशन हम लिख सकते हैं। जैसे इफ आई राइट थ्री इज़ > 2। अब मुझे पता है थ्री > 2 इज़ अ ट्रू स्टेटमेंट पर उसके आगे नॉट लगा दिया तो हमारे पास फॉल्स प्रिंट होकर आएगा। तो इस तरीके से वी विल गेट अ फॉल्स वैल्यू। सो दीज़ थ्री आर द इंपॉर्टेंट लॉजिकल ऑपरेटर्स दैट वी हैव इन पाइथन। एंड नाउ लेट्स टॉक अबाउट वन ऑफ़ द मोस्ट इंपोर्टेंट थिंग्स इन पाइथन प्रोग्रामिंग व्हिच आर कंडीशनल स्टेटमेंट्स। कंडीशनल स्टेटमेंट्स इनको हम कह सकते हैं या इफ एल्स इनको हम कह सकते हैं। कभी भी 59:47 प्रोग्राम के अंदर लॉजिक के अंदर हमारे पास वैसे बहुत सारी सिचुएशंस आती हैं जहां पे एक कंडीशन के ट्रू होने के बेसिस पर हमें कुछ काम करना होता है। जैसे अगर हम किसी भी वेबसाइट पर जाकर लॉग इन करें। अगर हमारा यूजरनेम एंड पासवर्ड सही होगा तभी हम उस वेबसाइट के अंदर लॉग इन कर पाएंगे। अगर गलत होगा तो उस केस में वेबसाइट पे लॉग इन नहीं कर पाएंगे। तो इस तरीके का जो लॉजिक होता है उसको हम प्रोग्राम के अंदर किस तरीके से लिखते हैं? तो उसके लिए हम यूज़ करते हैं अपनी कंडीशनल कंडीशनल स्टेटमेंट्स का। कंडीशनल स्टेटमेंट्स मतलब जिसके अंदर हम कोई कंडीशन चेक कर रहे हैं। कोई एक्सप्रेशन चेक कर रहे हैं। जैसे एग्जांपल के लिए लेट्स सपोज़ हमारे पास किसी भी व्यक्ति की वी हैव ऐज ऑफ़ अ पर्सन। लेट्स सपोज़ द ऐज इज़ इक्वल टू 24। अब इस ऐज के बेसिस पे हमें बताना है इफ द पर्सन इज़ एडल्ट ऑ नॉट। तो कंडीशन क्या होगी? अगर ऐज ग्रेटर दैन इक्वल टू 18 होती है तो वो व्यक्ति एडल्ट होता है। वो वोट भी कर सकता है। वो ड्राइविंग लाइसेंस भी ले सकता है। तो ये कुछ कंडीशंस हैं। अब इसी चीज को अगर हम कोड में लिखना चाहते हैं तो कैसे डिफाइन करेंगे? हम लिखते हैं इफ। इफ का 1:00:49 मतलब है कि हम एक कंडीशन को चेक कर रहे हैं। तो इफ इज़ अ कीवर्ड इन पाइथन। एंड इसके बाद जो भी चीज जो भी कंडीशन हमें चेक करनी होती है उसको हम एक एक्सप्रेशन की फॉर्म में लिखते हैं। जैसे हमें चेक करना है क्या जो ऐज है क्या वो ग्रेटर दैन इक्वल टू 18 है? अगर एज ग्रेटर दैन इक्वल टू 18 है तो क्या काम परफॉर्म करना है? उसे हम लिखते हैं आफ्टर कोलन। तो कोलन करके हम नेक्स्ट लाइन में आएंगे और यहां पर अगर कोई भी काम हमें करना है जैसे लेट्स सपोज आई वांट टू प्रिंट यू आर एन एडल्ट। कि अगर किसी भी व्यक्ति की ऐज ग्रेटर दैन इक्वल टू 18 है तो प्रिंट कर दो यू आर एन एडल्ट। सिर्फ इतना काम हमें कराना है। तो वो काम हमारे लिए क्या होगा? पॉसिबल हो जाएगा। यहां पर हमारे लिए प्रिंट आ गया यू आर इन एडल्ट। पर यहीं पर ऐज अगर 17 हो जाए तो उस केस में प्रिंट नहीं होगा। उस केस में नथिंग इज़ गोइंग टू गेट प्रिंटेड। बिकॉज़ ये जो एक्सप्रेशन है ये फॉल्स हो जाएगा। तो इफ के आगे जो भी हम एक्सप्रेशन लिखते हैं जब उस एक्सप्रेशन की वैल्यू ट्रू होगी तभी बाद वाली जो कमांड्स हैं वो सारी कमांड्स एग्जीक्यूट होंगी। अच्छा ये कोलन के बाद जितनी भी हम कमांड्स लिखते हैं, हम जरूरी नहीं है हम सिंगल 1:01:49 प्रिंट स्टेटमेंट लिखेंगे। हम मल्टीपल प्रिंट स्टेटमेंट्स भी लिख सकते हैं। यू आर इन एडल्ट यू कैन ड्राइव स्लश वोट। तो मल्टीपल कमांड्स लिख सकते हैं, कैलकुलेशंस कर सकते हैं, एक्सप्रेशनंस कर सकते हैं। पर सारी की सारी जो हम लाइंस लिखेंगे वो एक टैब के स्पेस के बाद होंगी। मतलब वो फोर स्पेसेस का हमें यहां पे गैप देना है। एंड इस चीज को हम प्रोग्रामिंग के अंदर कहते हैं इंडेंटेशन। इंडेंटेशन का मतलब होता है प्रॉपर स्पेसिंग देना, प्रॉपर गैप देना। तो जनरली इफ वी आर कमिंग फ्रॉम अदर प्रोग्रामिंग लैंग्वेज जैसे अगर हमने जावास्क्रिप्ट में कोड लिखा है पहले या C++s में लिखा है या जावा में लिखा है तो वहां पर ब्लॉक ऑफ कोड हमारे पास होता है। मतलब हम क्या करते हैं? हम जनरली दूसरी प्रोग्रामिंग लैंग्वेजज़ में इफ लिखते हैं। फिर कोई स्टेटमेंट लिखते हैं। उसके बाद कर्ली बसेस लगाते हैं। जिसके अंदर अगर इफ वाली स्टेटमेंट ट्रू है तो ये सारे के सारे काम पॉसिबल हो जाने चाहिए। लेकिन Python के अंदर कर्ली बसेस का कांसेप्ट नहीं होता। Python के अंदर सिर्फ कोलन का कॉन्सप्ट होता है कि वी पुट अ कोलन एंड उसके बाद इंडेंटेशन करके प्रॉपर स्पेसिंग करके हम एक ब्लॉक ऑफ़ कोड को क्रिएट करते हैं। मतलब ये सारा का सारा कोड तभी 1:02:50 एग्जीक्यूट होगा जब ये वाली स्टेटमेंट ट्रू होगी। सो इफ आई राइट 24 लेट्स सेव इट एंड रन। तो हमारे पास सारी लाइंस प्रिंट होकर आ गई। अगर हमें इसके बाद कुछ इस तरीके की चीज़ प्रिंट करवानी है जो इरिस्पेक्टिव ऑफ़ द एक्सप्रेशन प्रिंट होनी चाहिए। तो उसको हम यहां पर लिख सकते हैं। लेट्स कॉल इट एंड ऑफ़ कोड। तो एंड ऑफ़ कोड क्योंकि इस ब्लॉक के बाहर है। ये स्पेस के बाद नहीं है। बिना स्पेस के है। तो उसका मतलब है ये इफ ब्लॉक के बाहर है। तो इरिस्पेक्टिव ऑफ़ दिस कंडीशन ये प्रिंट स्टेटमेंट एग्जीक्यूट होगी ही होगी। जैसे इफ आई क्लियर दिस एंड रीरन। तो ये वैल्यूज़ प्रिंट हुई और लास्ट में एंड ऑफ़ कोड आ गया। अगर यहां पर 17 होता तो उस केस में भी हमारे पास एंड ऑफ़ कोड प्रिंट होता ही होता। तो कभी भी अगर हमें कोई कंडीशन चेक करनी है और कंडीशन के बेसिस पर कोई काम करवाना है तो उस केस में हम इफ कंडीशन को यूज़ करते हैं। अच्छा जरूरी नहीं है हर बार हमारे पास सिंगल कंडीशन हो। हमारे पास मल्टीपल कंडीशंस भी हो सकती हैं। जैसे लेट्स सपोज़ इफ द एज इज़ ग्रेटर दैन इक्वल टू 18 या एल्स इफ मतलब अगर फर्स्ट 1:03:53 स्टेटमेंट अगर फॉल्स है तो एक और कंडीशन चेक करो। फर्स्ट कंडीशन को चेक करने के लिए हम हमेशा इफ को यूज़ करते हैं। उसके बाद जितनी भी कंडीशंस हम चेक करना चाहते हैं उन सबके लिए हम एल इफ को यूज़ करते हैं। व्हिच मींस एल्स इफ। तो यहां पर हम चेक कर सकते हैं इफ एज इज लेस दैन 18 तो उस केस में प्रिंट कर दो यू कांट वोट और ड्राइव। लेट्स सेव दिस क्लियर एंड रन। तो इस बार क्योंकि ऐज 17 है तो ये कंडीशन तो फॉल्स हो गई। जिसका मतलब है ये काम परफॉर्म नहीं होगा। पर 17 इज़ लेस दैन 18 तो उसका मतलब है यू कांट वोट और ड्राइव। ये स्टेटमेंट हमारे पास प्रिंट होकर आ जाएगी। तो हम चाहें तो कितने भी इफ स्टेटमेंट्स लिख सकते हैं। हम चाहें कितने भी एल इफ स्टेटमेंट्स लिख सकते हैं। लेट्स टेक वन मोर एग्जांपल। लेट्स सपोज हम इस तरीके का कुछ लॉजिक इंप्लीमेंट करना चाहते हैं। जहां पर वी हैव मार्क्स ऑफ़ अ स्टूडेंट। एक स्टूडेंट के मार्क्स हैं आउट ऑफ 100 मे बी। अगर मार्क्स 80 से 100 के बीच में हैं तो उस केस में तो हमें ग्रेड ए प्रिंट करवाना है। अगर मार्क्स 60 से 80 के बीच में हैं तो उस केस में हम ग्रेड बी प्रिंट करवाना 1:04:54 चाहते हैं। एंड अगर लेस दैन 60 है तो उस केस में हम ग्रेड सी प्रिंट करवाना चाहते हैं। सो दिस इज़ द लॉजिक दैट वी वांट टू इंप्लीमेंट। तो इसको इफ एल इफ से कैसे इंप्लीमेंट करेंगे? उसके लिए पहले तो हम एक मार्क्स वेरिएबल ले सकते हैं। मार्क्स के अंदर अभी कोई भी रैंडम वैल्यू ऐड कर देंगे। लेट्स सपोज़ मार्क्स 88 हैं अभी। तो हम कंडीशन चेक कर सकते हैं। अगर हमारे मार्क्स की वैल्यू ग्रेटर देन या इक्वल टू 80 है मतलब 80 या 80 से बड़े हैं तो उस केस में आई कैन प्रिंट द ग्रेड एज़ A नहीं तो सेकंड कंडीशन चेक करेंगे। अगर मार्क्स आर लेस दैन 80 80 से कम है लेकिन 80 से तो कम है लेकिन 60 से बड़े हैं मतलब मार्क्स आर ग्रेटर दैन इक्वल टू 60 तो दोनों कंडीशन सेटिस्फाई होनी चाहिए सिर्फ लेस दैन 80 नहीं ग्रेटर दैन इक्वल टू 60 की भी तो उस केस में आर ग्रेड इज़ B एंड तीसरा केस होगा एल्स इफ मार्क्स आर लेस दैन 60 तो उस केस में हमारा हमारा ग्रेड 1:05:56 हो जाएगा C के इक्वल। तो मल्टीपल एल्स इफ्स हमने यूज़ कर दिए। लेट्स एग्जीक्यूट दिस। तो 88 के लिए ग्रेड हो जाएगा A के इक्वल। अगर हमारे मार्क्स 75 हैं तो उस केस में द ग्रेड इज़ गोइंग टू बी बी। अगर मार्क्स 55 हैं तो उस केस में द ग्रेड इज़ गोइंग टू बी सी। अच्छा ये जो लास्ट स्टेटमेंट होती है यहां पर वी कैन आल्सो राइट एल्स। कभी भी अगर हमें पता होता है कि ऊपर हमने सारी की सारी कंडीशंस चेक कर ली है। अब बस एक लास्ट केस बचा है। मतलब या तो मार्क्स ग्रेटर दैन 80 हो या 80 या 60 के बीच में हो या फिर जो बाकी के जितने भी बचे हुए केसेस हैं उसके लिए अगर हम कुछ काम परफॉर्म करना चाहते हैं तो वहां पर हम एल्स को भी लिख सकते हैं। जब भी हम एल्स को लिखते हैं एल्स को लिखने का मतलब होता है कि ऊपर की जितनी भी कंडीशंस हैं अगर वो फॉल्स हो जाती हैं। तो बाद में जाके जो भी काम परफॉर्म करना होता है उसको एल्स में लिख दो। मतलब ऊपर का नहीं इफ नॉट दिस देन दिस एल्स हमें क्या करना चाहिए? तो एल्स में हमें कोई एक्सप्रेशन कोई कंडीशन नहीं लिखनी होती। एल्स तभी एग्जीक्यूट होता है जब ऊपर की सारी की सारी स्टेटमेंट्स फॉल्स होती हैं। तो इस पूरे लॉजिक को इंप्लीमेंट करने के लिए हम यहां पर एल्स को भी लिख 1:06:58 सकते हैं। सो इफ आवर मार्क्स आर 55 तो एल्स भी हमें सेम आंसर रिटर्न करके देगा। तो इस तरीके से हमारे कंडीशनल स्टेटमेंट्स वर्क करते हैं पाइथन के अंदर। एंड यहां पर वी हैव कंप्लीटेड आवर पार्ट थ्री। सो लेट्स मूव ऑन टू प्रैक्टिस एक्सरसाइज थ्री। इसको हम क्लास के अंदर लेक्चर के अंदर ही सॉल्व करेंगे। तो इसके अंदर वी आर गोइंग टू बिल्ड अ मिनी प्रोजेक्ट यूजिंग Python व्हिच इज़ गोइंग टू बी अ कैलकुलेटर। एंड इस कैलकुलेटर को हम बिल्ड करेंगे यूजिंग ऑल द लॉजिक जिसको हमने अभी तक सीखा है। तो अभी तक हमने कंडीशनल स्टेटमेंट्स को सीखा है, ऑपरेटर्स को सीखा है, इनपुट आउटपुट को सीखा है, वेरिएबल्स को सीखा है। इन्हीं सारे कॉन्सेप्ट्स को यूज़ करके हमें एक कैलकुलेटर बनाना है। क्या कैलकुलेटर बनाना है? वी हैव टू बिल्ड अ कैलकुलेटर दैट कैन परफॉर्म द फॉलोइंग ऑपरेशंस। वो कैलकुलेटर प्लस कर पाए, माइनस कर पाए, मल्टीप्लाई कर पाए, मॉड्यूल ले पाए और पावर ले पाए। और ये जो कैलकुलेटर है इसमें यूजर इनपुट में हमें ए देगा, बी देगा एंड हमारा ऑपरेटर भी देगा कि कौन सा ऑपरेशन परफॉर्म करना है। एंड इन वैल्यूज़ के बेसिस पर फिर हमें अपने कैलकुलेशंस को परफॉर्म करना है। सो यूजिंग ऑल ऑफ द नॉलेज दैट यू हैव गेन टिल नाउ। यहां पे हमें लेक्चर को 1:07:59 पॉज करना है और इस कैलकुलेटर को खुद से बिल्ड करने की कोशिश करनी है। एंड अगर कोई भी हमें डाउट आ रहा है या कोई भी परेशानी आ रही है तो फिर हम आकर अपने सॉल्यूशन को देख सकते हैं। या फिर इफ वी हैव ऑलरेडी डन इट देन वी कैन डायरेक्टली लुक एट द सॉल्यूशन। तो सॉल्यूशन के लिए सबसे पहले तो इन तीनों वैल्यूज़ को एक बार इनपुट ले लेते हैं। सो लेट्स स्टार्ट बिल्डिंग आवर कैलकुलेटर। लेट्स क्लियर ऑल ऑफ़ दिस एंड वी आर गोइंग टू बिल्ड अ कैलकुलेटर। तो कैलकुलेटर में हमें a वैल्यू चाहिए। सबसे पहले तो a क्या है? A इज़ बेसिकली एंटर द फर्स्ट नंबर। A हमारा फर्स्ट नंबर है जिसको हम डायरेक्टली चाह तो इंटीजर के अंदर भी कन्वर्ट कर सकते हैं या इसको हम चाहें तो एक फ्लोट की तरह भी ले सकते हैं। लेट्स टेक दिस एज़ अ फ्लोटिंग वैल्यू। उसके बाद हम अपनी B वैल्यू को ले लेंगे व्हिच इज़ द सेकंड नंबर। एंड फिर हम अपने ऑपरेटर को ले लेंगे। उसको OP के अंदर स्टोर कर लेते हैं। व्हिच इज़ एंटर ऑपरेटर। ऑपरेटर में हम अपनी चॉइस दे देते हैं कि ऑपरेटर में या तो हम प्लस एंटर कर सकते हैं, माइनस हो सकता है, मल्टीप्लाई हो सकता है, डिवाइड हो सकता है, मॉड्यूल हो सकता है या फिर इट कैन बी अ पावर 1:09:00 ऑपरेटर। एंड इसे हम फ्लोट के अंदर नहीं रखेंगे या टाइप कास्ट नहीं करेंगे। इसको हम रखेंगे ऐज़ अ स्ट्रिंग। सो, दीज़ आर द थ्री वैल्यूज़ दैट वी वांट टू टेक ऐज़ इनपुट। अब डिपेंडिंग अपॉन कौन सा ऑपरेटर हमारे पास आया है? उसके बेसिस पे हमें ऑपरेशन परफॉर्म करना है। तो, हम कैसे चेक करेंगे? हम यहां पर यूज़ करेंगे अपनी कंडीशनल स्टेटमेंट्स का। कंडीशनल स्टेटमेंट्स में चेक कर सकते हैं कि अगर हमारे ऑपरेटर की वैल्यू इज इक्वल टू प्लस मतलब ऑपरेटर के अंदर जो स्ट्रिंग आई है क्योंकि सारी वैल्यू स्ट्रिंग की तरह स्टोर होंगी। इफ दैट वैल्यू इज़ इक्वल टू प्लस तो उस केस में हमें प्लस करना है। मतलब हमें प्रिंट करना है a + b वैल्यू को। नहीं तो एल्स इफ वाला केस क्या होगा? एल्स इफ अगर प्लस नहीं है तो उस केस में चेक करो इफ इफ इट इज़ माइनस। माइनस के केस में हम क्या प्रिंट करेंगे? a - b को। सिमिलरली यही स्टेटमेंट हमें बार-बार रिपीट करनी है फॉर ऑल द डिफरेंट ऑपरेटर्स कि अगर मल्टीप्लाई आया है तो उस केस में मल्टीप्लाई करना है। अगर डिवाइड आया है तो उस केस में हमें डिवाइड करना है। या अगर एस्टिस्क आया है तो उस केस में हमें पावर 1:10:03 रिटर्न करनी है। एंड लास्ट में हम चाहें तो एक एल्स स्टेटमेंट भी लिख सकते हैं कि अगर इनमें से कोई भी नहीं है ऑपरेटर की वैल्यू तो उस केस में क्या है? उस केस में इट्स एन इनवैलिड ऑपरेशन जो परफॉर्म नहीं हो सकता। सो दिस इज द एंटायर लॉजिक फॉर बिल्डिंग आवर कैलकुलेटर। लेट्स ट्राई दिस आउट। रन करते हैं। फर्स्ट नंबर हमारे पास लेट्स सपोज है सिक्स। सेकंड नंबर है थ्री एंड आई वांट टू डिवाइड। तो डिवाइड किया तो आंसर हमारे पास आ गया 2.2। लेट्स रिपीट इट वंस मोर। फर्स्ट नंबर हमारे पास 10 है। सेकंड नंबर है हमारे पास टू। एंड अब इस बार हम पावर करना चाहते हैं। तो 10 टू दी पावर 2 इज़ 100। तो हमारे पास 100 आ गया। एक एल्स वाला केस भी चेक कर लेते हैं कि फर्स्ट है हमारे पास 12, सेकंड है हमारे पास टू एंड ऑपरेटर में हमने लेट्स सपोज डबल mस टाइप कर दिया जो कि कोई वैलिड ऑपरेटर नहीं है। तो इस केस में हमारे पास आ गया इनवैलिड ऑपरेशन। तो इस तरीके से वी कैन बिल्ड अ सिंपल कैलकुलेटर फॉर आवरसेल्स। इन केस हमारे पास कैलकुलेटर नहीं है। तो वी कैन राइट अ सिंपल पाइथन प्रोग्राम व्हिच विल 1:11:03 टेक अस अबाउट अ मिनट टू राइट एंड उसमें हम सारे अपने कैलकुलेशंस को परफॉर्म कर सकते हैं। बट आई होप कि इससे हमें एक काफी अच्छा खासा आईडिया मिल गया होगा कि किस तरीके से जो भी कॉन्सेप्ट्स अभी हम पाइथन के अंदर सीख रहे हैं। उनको लॉजिकली एक प्रॉब्लम को सॉल्व करने के लिए यूज़ किया जा सकता है। कंबाइन किया जा सकता है। एक कैलकुलेटर को बिल्ड करना अपने आप में एक प्रॉब्लम है। पर हमने क्या किया? लॉजिकली जितने भी कांसेप्ट्स को अभी तक हमने सीखा है उन सबको कंबाइन किया और अपनी प्रॉब्लम को यूजिंग दोज़ डिफरेंट कॉन्सेप्ट्स हमने सॉल्व किया। सो दिस इज़ व्हेयर वी आर कंप्लीटिंग आवर पार्ट थ्री एंड नाउ लेट्स मूव ऑन टू पार्ट फोर। तो पार्ट फोर के अंदर दीज़ आर द कॉनंसेप्ट्स दैट वी आर गोइंग टू कवर। सो लेट्स स्टार्ट बाय टॉकिंग अबाउट रेंज। रेंज हमारे पास एक स्पेशल फंक्शन होता है जिसको हम जनरली लूप्स के अंदर यूज़ करते हैं। अब बिफोर वी टॉक अबाउट लूप्स वी आर टॉकिंग अबाउट रेंज। रेंज क्या करता है? रेंज हमें जीरो से लेकर किसी एक स्पेसिफिक नंबर तक एक नंबर्स का सीक्वेंस रिटर्न करता है। जैसे इफ आई राइट रेंज फाइव तो रेंज फाइव क्या रिटर्न करेगा? रेंज फाइव हमें एक सीक्वेंस ऑफ़ नंबर्स रिटर्न करेगा जिसके अंदर 0 1 2 3 1:12:06 एंड फोर होंगे। मतलब ये जो लास्ट नंबर होता है दिस इज़ नॉट इंक्लूडेड। इससे एक पहले वाले नंबर तक ज़ीरो से लेकर फोर तक हमारे पास सीक्वेंस रिटर्न होकर आ जाएगा। सो फॉर एनी रेंज ऑफ रेंज ऑफ n हमारे पास क्या सीक्वेंस रिटर्न होकर आएगा हमारे पास ज़ीरो से लेकर n - वन तक नंबर्स का सीक्वेंस रिटर्न होकर आ जाएगा। मतलब नंबर्स रिटर्न होकर आ जाएंगे। लेट्स सपोज हमने लिखा रेंज फाइव। तो रेंज फाइव ने जो भी रिटर्न किया उसको अपने नंबर्स के अंदर स्टोर करा लेते हैं। एंड फिर प्रिंट करवाते हैं नंबर्स को। तो नंबर्स के अंदर क्या प्रिंट होकर आएगा? नंबर्स के अंदर रेंज आएगी नंबर्स की फ्रॉम ज़ीरो टू फाइव। यहां पर फाइव इज नॉट इंक्लूडेड, फाइव इज़ एक्सक्लूडेड। तो जीरो से लेकर फोर तक ही नंबर्स हमारे पास प्रिंट होकर आएंगे। इन सारे नंबर्स को हम प्रिंट कैसे करेंगे? उसके लिए देयर इज़ समथिंग कॉल्ड अ फॉर लूप जिसकी अभी हम बात करेंगे। पर अभी के लिए वी जस्ट अंडरस्टैंडिंग द लॉजिक ऑफ रेंज। तो रेंज के अंदर बाय डिफ़ॉल्ट वैल्यूज़ हमेशा ज़ीरो से स्टार्ट होती हैं। पर कभी भी अगर हम चाहते हैं कि किसी और नंबर से स्टार्ट हो। मतलब हम चाहते हैं कि हमारे पास लेट्स सपोज़ वन से लेकर फाइव तक सारे 1:13:08 नंबर्स आ जाए। तो उस केस में हम लिख सकते हैं रेंज शुड स्टार्ट फ्रॉम वन एंड शुड एंड एट सिक्स। तो सिक्स लास्ट वैल्यू क्योंकि हमेशा नॉट इंक्लूडेड होता है। तो इस केस में हमारे पास वन से लेकर फाइव तक वैल्यूज़ आ जाएंगी। तो रेंज जो हमारा फंक्शन होता है उसमें पाइथन में हमें तीन वैल्यूज़ पास करनी होती हैं। फर्स्ट वैल्यू होती है स्टार्ट वैल्यू। सेकंड वैल्यू होती है हमेशा स्टॉप वैल्यू एंड थर्ड वैल्यू होती है स्टेप वैल्यू। स्टार्ट वैल्यू मतलब हम कहां से वैल्यूज़ को स्टार्ट करना चाहते हैं? स्टॉप मतलब कहां पर हम रुकना चाहते हैं? दिस इज़ नॉट इंक्लूडेड। एंड स्टेप मतलब हम कितना प्लस करना चाहते हैं हर बार। बाय डिफॉल्ट स्टार्ट वैल्यू जो होती है वो ज़ीरो होती है कि अगर हमने कोई और स्टार्ट नहीं दिया तो ज़ीरो से स्टार्ट होगा। बाय डिफॉल्ट स्टेप वैल्यू वन होती है कि अगर हमने कुछ और नहीं डिफाइन किया तो वन है तो नेक्स्ट टाइम टू होगा। फिर थ्री होगा। तो हर बार प्लस वन होता रहेगा। तो हम चाहें तो स्टार्ट को भी चेंज कर सकते हैं। हम चाहें तो स्टेप को भी चेंज कर सकते हैं। स्टॉप वैल्यू हमें हमेशा पास करनी होती है। तो स्टार्ट एंड स्टेप वैल्यू बाय डिफॉल्ट ऑलरेडी डिफाइंड होती है। इनको चाहे तो हम स्किप कर सकते हैं। पर स्टॉप वैल्यू को हमें हमेशा पास करना होता है। तो ये तो हो 1:14:10 गया लॉजिक रेंज का। अब रेंज को इन डिटेल अभी हम फॉर लूप को पढ़ते टाइम पढ़ेंगे। पर उससे पहले लेट्स टॉक अबाउट द फर्स्ट टाइप ऑफ लूप्स व्हिच आर कॉल्ड वाइल लूप्स। वाइल लूप्स क्या होते हैं? या इन जनरल लूप्स क्या होते हैं? लूप्स हमारे लिए किसी भी काम को रिपीट करने का काम करवाते हैं। जैसे कोई भी काम है जिसको प्रोग्राम के अंदर बार-बार बार-बार हमें रिपीट करना है। तो इंस्टेड ऑफ राइटिंग स्टेटमेंट्स अगेन एंड अगेन हम क्या कर सकते हैं? उसका लूप बना सकते हैं। जैसे एग्जांपल के लिए लेट्स सपोज़ आई वांट टू प्रिंट अपना कॉलेज फाइव टाइम्स। तो उसको करने का सबसे सिंपलेस्ट तरीका क्या होगा? या ब्रूट फ़ोर्स तरीका क्या होगा? कि आई राइट अपना कॉलेज। एंड इस तरीके से हम क्या करें? पांच प्रिंट स्टेटमेंट्स लिख दें। अब यहीं पर फाइव टाइम्स प्रिंट करवाने की जगह अगर मुझे 1000 टाइम्स या 1 लाख टाइम्स प्रिंट करना होता तो क्या मैं कॉपी पेस्ट करती 1 लाख टाइम्स? डेफिनेटली नो। तो उसी को करने का एक सिंपल आसान तरीका होता है हमारे लूप्स। यही काम अगर हमें लूप से करना होता तो कैसे करते हैं? हम यूज़ कर सकते हैं एक वाइल लूप का। वाइल लूप क्या कहता है? वाइल 1:15:11 का मतलब होता है जब तक। वाइल के बाद हम लिखते हैं कोई ना कोई कंडीशन। यहां पे हमारी कोई कंडीशन आती है। जब तक ये कंडीशन ट्रू रहेगी तब तक वाइल लूप के अंदर ब्लॉक ऑफ कोड में जो भी काम होगा उस काम को हम परफॉर्म करवाएंगे। जैसे हमें क्या काम परफॉर्म कराना है? हमें अपना कॉलेज प्रिंट करने का काम परफॉर्म कराना है। एंड कब तक परफॉर्म कराना है? हमें फाइव टाइम्स परफॉर्म कराना है। तो पांच बार का काउंट ट्रैक करने के लिए हम क्या कर सकते हैं? एक वेरिएबल क्रिएट कर सकते हैं। तो वी कैन क्रिएट अ काउंटर वेरिएबल जिसको हम शुरू कर सकते हैं वन से। और जब तक हमारे काउंटर की वैल्यू इज लेस दैन इक्वल टू 5 तब तक की हम कंडीशन नहीं लगा सकते हैं। एंड हर बार जैसे ही हम प्रिंट करवा लेंगे हम क्या करेंगे? अपने काउंटर को कर देंगे इंक्रीस बाय वन कि काउंटर अभी वन है। काउंटर लेस दैन फाइव है। यस। तो एक बार अपना कॉलेज प्रिंट करवा दिया। फिर काउंटर की वैल्यू को टू कर दिया। फिर उसके बाद जैसे ही ब्लॉक ऑफ कोड खत्म हो जाता है, हम दोबारा से वाइल कंडीशन को चेक करते हैं। तो काउंटर फिर टू होगा। टू के बाद दोबारा से प्रिंट करवा देंगे। फिर काउंटर को थ्री कर देंगे। मतलब काउंटर की जो वैल्यू है 1:16:12 फर्स्ट टाइम लेट्स स्टार्ट फ्रॉम हियर। फर्स्ट टाइम हमारा जो काउंटर है उसकी वैल्यू स्टार्ट होगी फ्रॉम वन। उसके बाद चेक किया जाएगा क्या काउंटर लेस दैन इक्वल टू 5 है? यस। हम फर्स्ट टाइम अपना कॉलेज प्रिंट करवा देंगे। काउंटर को इंक्रीस करके कर देंगे टू। तो काउंटर अब टू हो गया। काउंटर की दोबारा से वैल्यू चेक करेंगे। काउंटर टू लेस दैन इक्वल टू फाइव है क्या? यस। दोबारा से अपना कॉलेज प्रिंट करवा देंगे। काउंटर को इंक्रीज़ कर देंगे बाय वन। उसके बाद दोबारा कंडीशन चेक करेंगे। ट्रू है। दोबारा से अपना कॉलेज प्रिंट करवा देंगे। काउंटर को इंक्रीस कर देंगे बाय वन। दोबारा कंडीशन चेक करेंगे। ट्रू है। अपना कॉलेज प्रिंट करवा देंगे। काउंटर को इंक्रीस कर देंगे बाय वन। इस बार कंडीशन चेक करेंगे। इस बार भी कंडीशन ट्रू है। फिफ्थ टाइम अपना कॉलेज को प्रिंट करवा देंगे। काउंटर को इंक्रीस कर देंगे बाय वन। तो सिक्स हो गया। अब कंडीशन चेक करेंगे। तो सिक्स इज़ नॉट लेस दैन इक्वल टू फाइव। तो उस केस में हम इस लूप से बाहर आ जाएंगे। और फाइनली क्या प्रिंट हो जाएगा? फाइनली हमारे पास प्रिंट हो जाएगा एंड ऑफ़ कोड। तो काउंटर वेरिएबल से कितनी बार अपना कॉलेज प्रिंट होगा? फाइव टाइम्स अपना कॉलेज प्रिंट होगा। लेट्स रन द कोड एंड लेट्स काउंट। यहां पर अपना कॉलेज इज़ 1:17:14 गेटिंग प्रिंटेड फाइव टाइम्स। उसको हम ऐसे भी ट्रैक कर सकते हैं कि इंस्टेड ऑफ़ अपना कॉलेज अगर हम काउंटर को ही प्रिंट करवा दें, तो वन से लेकर फाइव तक सारी की सारी वैल्यूज़ हमारे पास प्रिंट होकर आ जाएंगी। अब जनरली जब भी हम लूप्स लिखते हैं, हम काउंटर वेरिएबल को बहुत ज्यादा मीनिंगफुल नाम नहीं देते। हम जनरली उसे छोटा सा वेरिएबल बनाते हैं। तो जनरली उसको हम आई या जे नाम देते हैं। तो हमारे लूप्स के अंदर यू विल सी अ लॉट ऑफ़ वेरिएबल्स नेम्ड आई एंड जे। तो काउंटर को जनरली हम आई से डिनोट करते हैं एंड इज़ गोइंग टू परफॉर्म द सेम वर्क। तो इस तरीके से हमारा काउंटर वेरिएबल वर्क करता है। अच्छा, यहां पर ये जो वाइल कंडीशन है, हम क्योंकि काउंटर को बार-बार बार-बार प्लस वन कर रहे हैं। मतलब इंक्रीस कर रहे हैं। तो एक पॉइंट ऐसा जरूर आएगा जब काउंटर की वैल्यू फाइव को एक्सीड कर जाएगी। जिसका मतलब है हमें फॉर श्योर पता है कि लूप कभी ना कभी स्टॉप हो जाएगा। लेकिन अगर कभी भी ऐसा लूप होता है जिसके अंदर दिस कंडीशन ऑलवेज रिमेंस ट्रू। मतलब अगर लेट्स सपोज गलती से हमने +1 करना छोड़ दिया तो उस केस में i की वैल्यू वही की वही रहेगी। इंक्रीस होगी नहीं। और ये 1:18:16 स्टेटमेंट हमेशा ट्रू रहेगी। तो ऐसे केसेस में हम क्या करते हैं? ऐसे केसेस में एक इनफाइनाइट लूप क्रिएट हो जाता है जो कभी रुकता ही नहीं है। एंड हमें प्रोग्रामिंग के अंदर कभी भी एक इनफाइनाइट लूप को क्रिएट नहीं करना होता है। इनफैक्ट वी कैन ट्राई इट आउट हियर। इसको क्लियर करेंगे और रन करेंगे। तो यहां पर हमारी स्क्रीन पर वन तब तक प्रिंट होता रहेगा जब तक हम मैनुअली जाकर अपने कोड को स्टॉप नहीं करेंगे। अगर इनफाइनाइट लूप है तो वी कैन स्टॉप इट बाय टाइपिंग कमांड + C. एंड उसके साथ में ये तो हमने देखा कि किस तरीके से हम अपने लूप्स की हेल्प से वी कैन प्रिंट सम स्ट्रिंग, वी कैन डू सम वर्क, वी कैन प्रिंट इंटीजर्स। प्लस काफी बार लूप्स को हम कुछ पैटर्न्स को प्रिंट करने के लिए भी प्रैक्टिस कर सकते हैं। जैसे एग्जांपल के लिए लेट्स सपोज़ लेट्स फर्स्ट ऑफ़ ऑल कन्वर्ट इट इंटू अ फाइनाइट लूप। एंड क्लियर दिस। अभी के लिए हम वन से लेकर फाइव तक नंबर्स को प्रिंट कर रहे हैं। बट लेट्स सपोज अगर हमें एक ट्रायंगल पैटर्न प्रिंट करना हुआ तो उसके लिए वी कैन टाइप दिस। लेट्स क्लियर दिस एंड रन। तो यहां पर क्या 1:19:16 होगा? हमारे लिए एक ट्रायंगल प्रिंट होकर आ जाएगा। बेसिकली जो भी i की वैल्यू है उतने एस्टर रिस्क एक सिंगल लाइन के अंदर हमारे पास प्रिंट होकर आ जाएंगे। तो पहले वन फिर टू फिर थ्री एंड इस तरीके से। एंड यहां पर व्हाट एग्जैक्टली इज़ हैपनिंग इन दिस एक्सप्रेशन। व्हनेएवर एन इंटीजर नंबर गेट्स मल्टीप्लाईड बाय अ स्ट्रिंग तो उतने ही टाइम्स वो स्ट्रिंग रिपीट हो जाती है। तो यहां पर क्योंकि ये एक स्ट्रिंग है। स्ट्रिंग से कोई इंटीजर नंबर के मल्टीप्लिकेशन का सेंस नहीं बनता। तो ये जो मल्टीप्लिकेशन यहां पर है ये एक्चुअली कॉन्कटिनेशन के लिए यूज़ हो रहा है। कि उतनी बार मतलब i नंबर ऑफ़ टाइम्स वो जो स्ट्रिंग है वो कॉन्कटिनेट होकर प्रिंट हो जाएगी। जैसे इफ आई प्रिंट हेलो हियर तो हेलो बी क्या करेगा? हेलो बी एक ट्रायंगल की फॉर्म में आ जाएगा। तो एक बार हेलो प्रिंट होगा फिर दो बार प्रिंट होगा। फिर थ्री इन बार प्रिंट होगा। एंड इस तरीके से हमारे पास एक पैटर्न आ सकता है। सिमिलरली हम चाहें तो वैल्यूज़ को रिवर्स पैटर्न में भी प्रिंट कर सकते हैं। जैसे इंस्टेड ऑफ़ वन टू फाइव इफ आई वांटेड टू गो फ्रॉम लेट्स सपोज़ फाइव टू वन। तो उसका लूप कैसा दिखता? उसके लिए i की वैल्यू को हम फाइव 1:20:16 से स्टार्ट कर सकते थे। एंड इस बार लेस दैन इक्वल टू 5 की जगह हम ग्रेटर दैन ज़ीरो की कंडीशन लगा सकते थे। एंड हर बार +1 करने की जगह हम -1 करेंगे। तो इस बार हमारे पास जो पैटर्न प्रिंट होगा दैट विल बी एन इनवर्टेड ट्रायंगल। तो पहले हमारे पास फाइव स्टार्स प्रिंट होंगे, फिर फोर प्रिंट होंगे, फिर थ्री प्रिंट होंगे। एंड इस तरीके से हमारा पैटर्न डिक्रीजिंग ऑर्डर के अंदर जाकर प्रिंट होगा। सो दिस इज़ हाउ आवर वाइल लूप वर्क्स। नाउ ये तो हमने अपने फर्स्ट टाइप ऑफ़ लूप को कवर कर लिया। इसके अलावा वी आल्सो हैव अ फॉर लूप। एंड जनरली प्रोग्रामिंग के अंदर मेजॉरिटी टाइम्स हम अपने फॉर लूप को यूज़ करते हैं। फॉर लूप क्या करते हैं? फॉर लूप्स को जनरली हम किसी सीक्वेंस ऑफ नंबर्स या आगे जाकर हम लिस्ट डेटा स्ट्रक्चर इन पाइथन के बारे में पढ़ेंगे। अगर हमें लिस्ट पर या किसी सीक्वेंस ऑफ वैल्यूज़ पर कलेक्शन ऑफ़ वैल्यूज़ पर अगर लूप लगाना होता है तो वहां पर हम अपने फॉर लूप को यूज़ करते हैं। लेट्स सपोज़ आई वांट टू प्रिंट वैल्यूज़ फ्रॉम ज़ीरो टू फोर। तो उसके लिए क्या करेंगे? हम नंबर्स को स्टोर कर लेंगे फ्रॉम रेंज। तो रेंज हमें क्या देगा? रेंज 1:21:17 ऑफ़ फाइव अगर हमें करें तो ये हमें ज़ीरो से लेकर फोर तक नंबर्स का सीक्वेंस रिटर्न कर देगा नंबर्स के अंदर। तो इन पर लूप लगाने के लिए आई कैन राइट फॉर आई इन नंबर्स। मतलब ये जो है आई ये एक तरीके से हमारा आइटरेटर है। हमारा काउंटर है। लूप्स का मतलब होता है आइटरेशन करना। या कभी भी आइटरेशन वर्ड अगर हम सुने तो उसका मतलब लूप्स ही होता है। तो आइटरेशन या लूप लगाने का काम कौन करता है? आइटरेटर्स करते हैं या काउंटर वेरिएबल्स करते हैं। तो आई इज़ अ काउंटर वेरिएबल। तो जब तक i की वैल्यू नंबर्स वाले सीक्वेंस के अंदर है मतलब ज़ीरो से फोर की रेंज में है तब तक हम क्या कर सकते हैं? तब तक हम i को प्रिंट कर सकते हैं। सो दिस इज़ अ वेरी सिंपल लूप दैट वी कैन अप्लाई। तो हमारे पास ज़ीरो से फोर तक वैल्यूज़ प्रिंट होकर आ जाएंगी। तो नंबर्स के अंदर क्या है? ज़ीरो से फोर तक वैल्यूज़ हैं इस रेंज के अंदर। हम चाहें, तो इंस्टेड ऑफ़ स्टोरिंग दीज़ वैल्यूज़ इन नंबर्स, आई कैन डायरेक्टली राइट रेंज ऑफ़ फाइव हियर। तो रेंज ऑफ़ फाइव का मतलब ज़ीरो से फोर ही है। तो सिंपली ऐसे लूप लिखेंगे तो भी हमारे पास ज़ीरो से फोर तक सारी की 1:22:18 सारी वैल्यूज़ प्रिंट होकर आ जाएंगी। तो यहां पर वी आर प्रिंटिंग वैल्यूज़ फ्रॉम ज़ीरो टू फोर। इसी तरीके से लेट्स सपोज़ आई वांट टू प्रिंट वैल्यूज़ फ्रॉम वन टू फाइव। तो वो कैसे करेंगे? उसके लिए रेंज में स्टार्टिंग वैल्यू हम डिफाइन कर सकते हैं। और एंडिंग वैल्यू को इंक्रीज़ कर देंगे बाय वन। तो लास्ट जो वैल्यू होती है वो हमने ऑलरेडी बात कर रखी है। इज़ नॉट इंक्लूडेड। इट्स एन एक्सक्लूडेड वैल्यू। तो हमारा लूप फाइव तक जाएगा। लेट्स सेव इट क्लियर एंड रन। इनफैक्ट लेट्स कॉमेंट दिस आउट। तो अब हमारे पास वन से लेकर फाइव तक हमारी वैल्यूज़ प्रिंट हो जाएंगी। अब यहां पर हम इवन दो एग्जांपल फाइव तक का ले रहे हैं। पर फाइव की जगह यहां 5000 भी होता तो भी हमें कोई खास चेंज नहीं करना था कोड के अंदर। मतलब अगर हमें लेट्स सपोज़ 5000 तक वैल्यूज़ को प्रिंट करना है। तो 50001 तक हम अपना लूप चला सकते हैं। लेट्स क्लियर दिस एंड प्रिंट। तो एकदम से ये 4999 4998 एंड लास्ट में 5000 तक सारी की सारी वैल्यूज़ हमारे पास प्रिंट होकर आ गई। तो आई होप वी आर अंडरस्टैंडिंग द लॉजिक कि 1:23:19 वही सेम काम जिसके लिए बार-बार 5000 टाइम्स हमें प्रिंट स्टेटमेंट लिखनी पड़ती। उसके लिए हमने कुछ नहीं किया। वही सेम दो लाइंस का कोड है जिसके अंदर बस एंडिंग कंडीशन स्टॉपिंग कंडीशन को हमने चेंज कर दिया है। तो इस तरीके से हमारे फॉर लूप्स या हमारे लूप्स वर्क करते हैं। इनफैक्ट यहां पर वी कैन ट्राई आउट समथिंग एल्स ट्रू। जैसे लेट्स सपोज हमें वन से लेकर 10 तक सिर्फ इवन नंबर्स को प्रिंट करना है। तो उसको हम कैसे प्रिंट करेंगे? सबसे बेसिक तरीका सबसे ब्रूटफोर्स तरीका वो प्रिंट करने का होगा कि हम वन से लेकर 10 तक एक लूप चलाएंगे और हर नंबर के लिए वी आर गोइंग टू चेक इफ द नंबर इज़ इवन ऑ नॉट। कोई भी नंबर इवन कब होता है? इवन नंबर्स जैसे टू 4 6 8 या कोई भी इवन नंबर इवन तब होता है व्हेन इट इज़ अ मल्टीपल ऑफ टू। कोई भी नंबर जो टू की टेबल में आता है, टू का मल्टीपल होता है, इज कॉल्ड एन इवन नंबर। तो इवन नंबर्स को प्रोग्रामिंग में कैसे चेक करते हैं? हम बेसिकली किसी भी नंबर को टू से डिवाइड करके उसका रिमाइंडर चेक कर सकते हैं। जो भी नंबर टू से कंप्लीटली डिवाइड हो जाएगा, उसका मॉड्यूल वैल्यू 1:24:19 मतलब रिमाइंडर क्या रह जाएगा? उसका रिमाइंडर इज़ ऑलवेज गोइंग टू बी इक्वल टू ज़ीरो। तो जो भी इवन नंबर्स होते हैं, उनका जब टू के साथ मॉड्यूल लिया जाता है, द वैल्यू कम्स आउट टू बी ज़ीरो। कभी भी हमें चेक करना है कि कोई भी नंबर n किसी दूसरे नंबर की टेबल में आता है या नहीं आता। जैसे अगर हमें चेक करना होता कि n 5 की टेबल में आता है या नहीं आता। तो हम क्या करते? n मॉड्यूल फाइव ले लेते। तो वैसे ही हमें चेक करना है n टू की टेबल में आता है या नहीं आता। तो हम n मॉड्यूल टू ले लेंगे। एंड इफ द रिमेंडर इज़ ज़ीरो दैट मींस दैट n इज़ अ मल्टीपल ऑफ़ टू। तो इवन नंबर्स कैसे चेक करेंगे? सबसे ब्रूट फ़ोर्स तरीका है कि हम एक लूप चलाएंगे। फॉर i इन रेंज हम वन से लेकर 11 मतलब वन से लेकर 10 तक वैल्यू्यूज के लिए चेक करेंगे। एंड लूप के अंदर ही हम अपनी कंडीशनल स्टेटमेंट्स को भी चेक कर सकते हैं। तो अगर हमारे कोई भी i की वैल्यू i मॉड्यूल 2 बिकम्स इक्वल टू 0 मतलब ये एक इवन वैल्यू है तो उस केस में हम प्रिंट कर देंगे अपने i की वैल्यू। तो जोज i इवन होगा वही हमारे लिए प्रिंट हो जाएगा। तो यहां पर 2 4 6 8 10 इस रेंज में हमारे लिए प्रिंट हो गई। अब इसी को करने 1:25:20 का एक और सिंपलर तरीका है कि हम क्या करें? अपनी रेंज फंक्शन की स्पेशलिटीज को यूज़ करें। हमने बात की थी रेंज फंक्शन में तीन वैल्यूज़ होती हैं। स्टार्ट, स्टॉप एंड स्टेप। तो हमारी रेंज क्या है? हम वन से लेके 10 तक जाना चाहते हैं। तो ये तो हमारी स्टार्टिंग एंड स्टॉपिंग वैल्यू हो गई। स्टेप का मतलब है कि कितना हम इंक्रीस करेंगे? अगर स्टार्ट ही हम टू से करें व्हिच इज़ एन इवन नंबर। एंड हर बार +1 मतलब टू का थ्री, थ्री का फोर +1 करने की जगह हम +2 करें। मतलब टू पर हैं फिर फोर पर चले गए फिर प्लस टू करके सिक्स पर चले गए तो वी गो टू ऑल द इवन नंबर्स एंड अगर हम सिर्फ इतना लिखकर प्रिंट करें i की वैल्यू लेट्स कमेंट दिस आउट एंड रन दिस कोड तो भी हमारे पास सेम आंसर प्रिंट होकर आएगा व्हिच इज़ 2 4 6 8 एंड 10. तो यहां पर रेंज फंक्शन को हम यूज़ कर सकते हैं। तो रेंज फंक्शन में तीन वैल्यूज़ पास की जा सकती हैं। इनमें से स्टॉपिंग वैल्यू इज़ ऑलवेज कंपलसरी। फर्स्ट वैल्यू एंड लास्ट वैल्यू व्हिच इज़ द स्टार्ट पॉइंट एंड द स्टेप वैल्यू। ये हमेशा ऑप्शनल होते हैं जिनको हम अपनी मर्जी से डिपेंडिंग अपॉन द केस 1:26:20 डिफाइन कर सकते हैं। सो दिस इज़ हाउ अ फॉर लूप वर्क्स इन Python। इसके साथ में हमारे पास दो और इंपॉर्टेंट कीवर्ड्स होते हैं Python के अंदर जो जनरली हम लूप्स के साथ यूज़ करते हैं। व्हिच इज़ ब्रेक एंड कंटिन्यू। ब्रेक कीवर्ड को हम तब यूज़ करते हैं जब हमें लूप को कहीं भी स्टॉप करना होता है। जैसे एग्जांपल के लिए लेट्स सपोज़ आई वांट टू प्रिंट ऑल द मल्टीपल्स ऑफ़ सेवन। वी वांट टू प्रिंट ऑल द मल्टीपल्स ऑफ सेवन। या इसको और ईजी कर लेते हैं। वी वांट टू प्रिंट ऑल द मल्टीपल्स ऑफ थ्री। पर जैसे ही 21 आएगा वैसे ही हमें रुक जाना है। और मल्टीपल्स कौन सी रेंज में प्रिंट करेंगे? वन से 50 की रेंज में प्रिंट करने वाले हैं। सबसे पहले तो स्मॉलर प्रॉब्लम देखते हैं। स्मॉलर प्रॉब्लम इज़ कि हम वन से 50 की रेंज में सारे के सारे मल्टीपल्स ऑफ़ थ्री को प्रिंट करना चाहते हैं। कैसे प्रिंट करेंगे? सबसे पहले तो हम लूप चला देंगे वन से 30 की रेंज के लिए। तो वन से 31 तक हमारा लूप चलेगा और मल्टीपल्स ऑफ़ थ्री को प्रिंट करना है। उसका मतलब है कि अगर कोई भी नंबर आए मॉड्यूल थ्री बिकम्स 1:27:23 इक्वल टू ज़ीरो तो उसका मतलब इट्स अ मल्टीपल ऑफ़ थ्री। तो उसे हम यहां पर प्रिंट कर सकते हैं। सो लेट्स टेस्ट इट आउट। तो ये सारे के सारे मल्टीपल्स ऑफ़ थ्री हमारे पास प्रिंट होकर आ गए। अच्छा वन टू 50 तक लूप होना चाहिए। लेट्स क्लियर दिस एंड रीन। सो वन से 50 तक सारे के सारे मल्टीपल्स ऑफ़ थ्री आ गए। अब यहां पर वी वांट टू स्टॉप जैसे ही हम 21 पर आ जाए मतलब जैसे ही 21 आ जाए वहां पे स्टॉप कर जाना है। तो हम एक और कंडीशन लगा सकते हैं कि अगर i की वैल्यू बिकम्स इक्वल टू 21 तो उस केस में क्या कर जाना है? उस केस में ब्रेक कर जाओ। ब्रेक करने का मतलब है वी आर नाउ आउट ऑफ द लूप। तो इनफैक्ट प्रिंट भी करा सकते हैं आउट ऑफ़ लूप। लेट्स सेव इट क्लियर एंड रीन। तो इस बार थ्री से लेकर सिर्फ 18 तक वैल्यूज़ प्रिंट हुई। जैसे ही 21 आ गया, वी आर नाउ आउट ऑफ़ द लूप। तो कभी भी लूप से ब्रेक करना होता है तो उस केस में ब्रेक यूज़ करते हैं। एंड कभी भी अगर हमें कुछ भी स्किप करना होता है। कोई भी आइलिटेटरेशन या लूप का रन हमें स्किप करना है तो हम कंटिन्यू करेंगे। जैसे एग्जांपल के लिए हम वन से लेकर 50 तक सारे 1:28:24 मल्टीपल्स ऑफ थ्री को प्रिंट करवाना चाहते हैं। बट जब भी 21 आएगा हम उसको स्किप कर देंगे। बाकी सब प्रिंट करवाएंगे। बस 21 के लिए स्किप करना है। तो कैसे करेंगे? इंस्टेड ऑफ़ ब्रेक आई विल जस्ट डू कंटिन्यू। कंटिन्यू कहने का मतलब है कि लूप में बाद में जो भी काम लिखा हुआ है वो परफॉर्म नहीं होगा। एंड हम नेक्स्ट आइटरेशन के लिए ऊपर चले जाएंगे। सो लेट्स क्लियर दिस एंड रीरन। तो इस बार थ्री से लेकर एंड तक 50 तक सारे के सारे नंबर्स प्रिंट हुए हैं। बस बीच में वी विल नोटिस कि 18 के बाद सीधा 24 आ गया है। 21 के लिए हमने क्या कर दिया है? स्किप कर दिया है। व्हाई? बिकॉज़ ऑफ़ दिस कंटिन्यू। तो इस तरीके से हमारा कंटिन्यू कीवर्ड वर्क करता है। सो दिस इज़ व्हेयर वी हैव कंप्लीटेड आवर पार्ट फोर एंड अब हमें लेक्चर को पॉज करना है एंड वी हैव टू ट्राई एंड कंप्लीट आवर प्रैक्टिस एक्सरसाइज फोर जिसका सॉल्यूशन हमें नीचे डिस्क्रिप्शन बॉक्स के अंदर मिल जाएगा। नाउ लेट्स मूव ऑन टू पार्ट फाइव। नाउ इन पार्ट फाइव वी आर गोइंग टू कवर सम ऑफ़ द कॉम्प्लेक्स डेटा टाइप्स इन पाइथन। जैसे अभी तक जितने भी हमने डेटा टाइप्स के बारे में बात की है, दे हैव बीन द प्रिमिटिव 1:29:25 डेटा टाइप्स। प्रिमिटिव कहने का मतलब है सिंपल डेटा टाइप्स के बारे में हमने बात की है। जैसे इंट हो गया, बुलियन हो गया, फ्लोट हो गया या स्ट्रिंग हो गया। अब हम बात करने वाले हैं अबाउट सम कॉम्प्लेक्स डेटा टाइप्स। कॉम्प्लेक्स कह सकते हैं इनको हम या नॉन प्रिमिटिव डेटा टाइप्स कह सकते हैं जिसके अंदर हमारे पास लिस्ट, टपल, सेट एंड डिक्शनरी आ जाते हैं। सबसे पहले लेट्स टॉक अबाउट लिस्ट। लिस्ट को हम एक कलेक्शन ऑफ डिफरेंट आइटम्स की तरह समझ सकते हैं। तो वी आर टॉकिंग अबाउट लिस्ट। लेट्स क्लियर दिस। तो लिस्ट हमारा कोई भी कलेक्शन ऑफ आइटम्स हो सकता है। जैसे फॉर एग्जांपल हमें एक क्लास के अंदर बहुत सारे स्टूडेंट्स के मार्क्स को स्टोर करना है। तो हम एक मार्क्स नाम की लिस्ट बना सकते हैं। लिस्ट को बनाने के लिए वी यूज़ द स्क्वायर ब्रैकेट्स। एंड स्क्वायर ब्रैकेट्स के अंदर जितनी भी वैल्यूज़ को हम लिस्ट के अंदर ऐड करना चाहते हैं, उन सबको हम कॉमा से सेपरेट करके लिखते हैं। जैसे मार्क्स के अंदर वी कुड हैव 98, 99, 97, 95 एंड 93। तो ये क्या हो गई? ये लिस्ट ऑफ़ मार्क्स हो गई हमारे पास। इसको इनफैक्ट हम प्रिंट भी करवा सकते हैं। इफ आई प्रिंट 1:30:27 मार्क्स तो हमारे पास ये सारी की सारी लिस्ट प्रिंट होकर आ जाएगी। एंड वी कैन आल्सो प्रिंट द टाइप ऑफ मार्क्स। तो वी विल गेट अ लिस्ट। अच्छा इसके अंदर जब भी हम लिस्ट की बात कर रहे हैं, इट्स अ कलेक्शन ऑफ़ आइटम्स। पर जरूरी नहीं है उन सारे के सारे आइटम्स का टाइप सेम हो। मतलब यहां पर हो सकता है कि हम एक ग्रेड एबी स्टोर करवा दें। यहां पर हो सकता है किसी स्टूडेंट्स के मार्क्स 92.5 भी हो। मतलब ये कैरेक्टर वैल्यू हो गई या स्ट्रिंग वैल्यू हो गई। एंड दिस इज़ व्हाट दिस इज़ अ फ्लोटिंग वैल्यू। तो यहां पर आइटम्स का जो टाइप है इट कुड बी डिफरेंट एंड उससे हमारे पास कोई एज़ सच एरर रिटर्न होकर नहीं आएगा। तो लिस्ट के अंदर डिफरेंट टाइप्स ऑफ़ डेटा को हम स्टोर करा सकते हैं। एंड इस तरीके से आवर कलेक्शन वर्क्स। अब लिस्ट के ऊपर बहुत सारे डिफरेंट ऑपरेशंस हैं जिनको हम परफॉर्म कर सकते हैं। एंड दीज़ आर सम रियली यूज़फुल ऑपरेशंस जो Python के अंदर आपको काफी जगह देखने को मिलेंगे। सबसे पहले तो एक इंपॉर्टेंट फंक्शन होता है जिसको हम यूज़ कर सकते हैं टू प्रिंट द लेंथ ऑफ द लिस्ट। हम लिख सकते हैं लेंथ ऑफ व्हाटएवर इज़ द लिस्ट नेम लेंथ ऑफ़ मार्क्स एंड उससे 1:31:28 हमारे पास टोटल नंबर ऑफ़ आइटम्स प्रिंट हो जाएंगे। जैसे सेवन क्योंकि हमारे पास हमारी लिस्ट के अंदर सेवन आइटम्स हैं। इफ वी रिमूव दीज़ टू तो अब हमारे पास सिर्फ पांच ही आइटम्स बचेंगे। तो हमारे पास फाइव प्रिंट होकर आ जाएगा। उसके साथ में वी आल्सो हैव समथिंग कॉल्ड इंडेक्स वैल्यूज़। जैसे स्ट्रिंग के अंदर इंडेक्स वैल्यूस काम करती हैं, वैसे ही सेम इंडेक्स का कांसेप्ट हमारी लिस्ट के अंदर एग्ज़िस्ट करता है। मतलब हमारे जो इंडेक्स आइटम्स या पोजीशंस है वो ज़ीरो से स्टार्ट होते हैं। सो दिस इज़ एट इंडेक्स ज़ीरो। दिस इज़ इंडेक्स वन, इंडेक्स टू, इंडेक्स थ्री एंड इंडेक्स फोर। तो, हम प्रिंट कर सकते हैं किसी भी इंडेक्स पर कोई वैल्यू। जैसे इफ आई वांट टू प्रिंट मार्क्स ऑफ़ ज़ीरो। तो, हमारे पास 98 प्रिंट होकर आ जाएगा। सिमिलरली, लेट्स कॉमेंट दिस आउट। सिमिलरली इफ आई वांट टू प्रिंट लेट्स सपोज मार्क्स ऑफ टू तो सेकंड इंडेक्स पर जो वैल्यू है वो प्रिंट होकर आ जाएगी व्हिच इज दिस वैल्यू। अच्छा इंडेक्स को हम रिवर्स ऑर्डर में भी काउंट कर सकते हैं। मतलब अगर हमें लास्ट इंडेक्स की कभी भी वैल्यू चाहिए और हमें पता नहीं कि हमारी लिस्ट के अंदर कितने आइटम्स हैं। तो वहां पर आई कैन 1:32:29 सिंपली प्रिंट -1। जब हम -1 प्रिंट करते हैं तो उसका मतलब होता है लास्ट इंडेक्स। -2 मतलब सेकंड लास्ट इंडेक्स। -3 मतलब थर्ड लास्ट इंडेक्स। तो इस तरीके से हम प्रिंट कर सकते हैं। एंड आई विल गेट द वैल्यू 93। तो -1 इंडेक्स मतलब 93। सिमिलरली अगर हम -2 करेंगे तो हमारे पास 95 आ जाएगा। कुछ इस तरीके से। देयर इज़ वन मोरेंट ऑपरेशन दैट वी कैन परफॉर्म ऑन लिस्ट व्हिच इज़ स्लाइसिंग अ लिस्ट। स्लाइस करने का मतलब होता है लिस्ट से कोई भी टुकड़ा निकालना। जैसे रियल लाइफ के अंदर हमारे पास फ्रूट्स एंड वेजिटेबल्स होते हैं तो उनको हम स्लाइस करके एक पीस निकाल सकते हैं। वैसे ही अपनी लिस्ट के अंदर भी स्लाइस करके हम उसके पीसेस निकाल सकते हैं। स्लाइस करने का जो हमारे पास फॉर्मेट होता है दैट इज़ दैट वी राइट द लिस्ट नेम एंड लिस्ट के अंदर हम स्टार्टिंग इंडेक्स एंड एंडिंग इंडेक्स बताते हैं। जैसे हम लिखते हैं अपनी लिस्ट का नाम। पहले हम अपना स्टार्टिंग इंडेक्स पास करेंगे जहां से हमारा स्लाइस जो पार्ट है वो स्टार्ट होना चाहिए। एंड देन एंडिंग इंडेक्स। और एंडिंग इंडेक्स जो होता है वो इंक्लूडेड नहीं होता। मतलब दिस इज़ एक्सक्लूसिव। स्टार्टिंग इंडेक्स इंक्लूडेड होता है। 1:33:30 जैसे एग्जांपल के लिए अगर मुझे 98 से 97 तक लिस्ट चाहिए। मतलब एक सब लिस्ट हम क्रिएट करना चाहते हैं। छोटी लिस्ट आउट ऑफ दीज़ आइटम्स। तो आई कैन प्रिंट मार्क्स ऑफ़ 0 टू 0 1 2 टू तक चाहिए तो हम थ्री इंडेक्स तक अपनी लिस्ट को प्रिंट करवाएंगे। तो यहां पर हमारे पास प्रिंट होकर आ जाएगा 98, 99 एंड 97। सेम चीज़ हम रिवर्स ऑर्डर में भी कर सकते हैं। मतलब अगर मुझे 93, 95 एंड 97 चाहिए तो स्टार्टिंग इंडेक्स क्या आ जाएगा? दैट विल बी -3 तो इट विल बी इक्वल टू -3 एंड एंडिंग इंडेक्स क्या हो जाएगा? -1 हो जाएगा। तो -1 नहीं होगा। खैर ज़ीरो होगा। ये -3 है। -2 है। -1 इंक्लूड नहीं होगा तो सिर्फ ये दोनों प्रिंट होकर आएंगे। एंड अगर हमें लास्ट तक वैल्यूज़ चाहिए। वी डोंट वांटेड टू स्टॉप बिफोर द लास्ट एलिमेंट। तो उस केस में हम क्या कर देते हैं? इसको ऑमिट कर देते हैं। तो अब हमारे पास एंड तक वैल्यूज़ आ जाएंगी। जहां पर भी एक वैल्यू मिसिंग है वहां पर डिफॉल्ट वैल्यू यूज़ होती है। तो स्टार्ट की डिफॉल्ट वैल्यू होती है ज़ीरो। मतलब इफ आई डू फ्रॉम नथिंग 1:34:32 टू नथिंग तो उसका मतलब है हमारे पास पूरी लिस्ट प्रिंट होकर आ जाएगी। मतलब स्टार्टिंग की डिफ़ॉल्ट वैल्यू ज़ीरो है एंड एंडिंग की डिफ़ॉल्ट वैल्यू इज़ पूरी लिस्ट का लास्ट आइटम तक। उसके साथ में इफ आई ऐड समथिंग हियर जैसे लेट्स सपोज़ इंडेक्स टू तक वैल्यूज़ आ जाए। तो इंडेक्स टू तक वैल्यूज़ आने का मतलब है ज़ीरो एंड वन। ये दोनों वैल्यूज़ आ जाएंगी। क्योंकि बाय डिफ़ॉल्ट स्टार्टिंग वैल्यू इज़ गोइंग टू बी इक्वल टू ज़ीरो। तो 98 एंड 99 हमारे पास प्रिंट होकर आ जाएगा। तो इस तरीके से द स्लाइसिंग ऑपरेशन वर्क्स इन अ लिस्ट। उसके साथ में हम अपनी लिस्ट पर एक लूप भी रन कर सकते हैं। जैसे इफ आई वांट टू प्रिंट ऑल द मार्क्स वन बाय वन। तो उसके लिए हम एक लूप चला सकते हैं फॉर लेट्स सपोज़ स्कोर इन मार्क्स। हम प्रिंट कर सकते हैं सारी की सारी स्कोर वैल्यूज़ को। तो एक-एक करके लिस्ट के अंदर जितने भी आइटम्स हैं वो हमारे लिए प्रिंट होकर आ जाएंगे। एंड प्राइमरी काम जो हमारे फॉर लूप्स का होता है वो लिस्ट जैसे या टपल जैसे सीक्वेंसेस के ऊपर ट्रेवर्स करने का है। यानी ट्रैवल करने का ही होता है। उनके ऊपर लूप लगाने का ही होता है। तो इस तरीके से हमारे लूप्स वर्क करते हैं। प्लस वी कैन आल्सो ऐड वैल्यूज़ टू द लिस्ट। हमारी जो लिस्ट होती हैं पाइथन के अंदर दे आर म्यूटेबल। 1:35:33 म्यूटेबल मतलब उनको चेंज किया जा सकता है। मतलब उनके अंदर हम वैल्यूज़ को ऐड कर सकते हैं। लिस्ट को हम मॉडिफाई कर सकते हैं। जैसे इफ आई वांट टू ऐड सम वैल्यू एट द एंड ऑफ़ द लिस्ट। तो उस केस में व्हाट कैन वी डू? हम कर सकते हैं मार्क्स डॉट एपेंड लिस्ट के एंड में वैल्यू ऐड करने के लिए या अपेंड करने के लिए हमारे पास एपेंड फंक्शन होता है मेथड होता है। तो लास्ट में जाकर लेट्स सपोज आई वांट टू ऐड अ वैल्यू 50 एंड उसके बाद इफ वी प्रिंट आवर मार्क्स तो हमारे पास लास्ट में वी आर गोइंग टू गेट दिस 50 वैल्यू। अगर हमें किसी पर्टिकुलर इंडेक्स पर वैल्यू को ऐड करना है तो हमारे पास इंसर्ट फंक्शन होता है। जैसे इफ आई वांट टू इंसर्ट 50 एट द ज़ीरोथ इंडेक्स दैट इज़ एट द स्टार्ट ऑफ़ द लिस्ट। तो उस केस में हम इंसर्ट को यूज़ करेंगे एंड हमारे पास 50 आ जाएगा। फर्स्ट पर ऐड करना चाहते हैं मतलब 98 के बाद 50 आ जाए फिर 99 आ जाए। तो उस केस में इंडेक्स वैल्यू हमारे पास वन हो जाएगी। तो वी विल गेट 98 देन 50 देन 99। तो इस तरीके से हम वैल्यूज़ को इंसर्ट भी कर सकते हैं। एंड हम ये भी चेक कर सकते हैं कि कोई वैल्यू हमारी लिस्ट के अंदर एग्ज़िस्ट करती है या नहीं। तो उसके लिए वी हैव द सिंपल इन 1:36:35 ऑपरेशन जिसको हमने स्ट्रिंग्स के अंदर देखा था। मतलब इफ आई वांट टू चेक इफ दैट 97 एग्ज़िस्ट्स इन मार्क्स ऑर नॉट। तो हमारे पास बुलियन ट्रू रिटर्न होकर आ जाएगा क्योंकि 97 मार्क्स के अंदर एग्ज़िस्ट करता है। बट इफ आई चेक फॉर 100 देन आई एम गोइंग टू गेट अ फॉल्स वैल्यू। एंड हम चाहें तो लिस्ट को पूरा क्लियर भी कर सकते हैं। मतलब इफ आई डू मार्क्स डॉट क्लियर एंड देन ट्राई टू प्रिंट माय मार्क्स वैल्यू। तो उस केस में द आंसर इज़ गोइंग टू बी एन एम्प्टी लिस्ट। सिमिलरली, हम ये जो एम्प्टी लिस्ट है, इसकी लेंथ भी प्रिंट करवा सकते हैं। तो, उस केस में हमारे पास लेंथ आएगी ज़ीरो के इक्वल। सो दिस इज़ हाउ वी परफॉर्म अ लॉट ऑफ़ डिफरेंट ऑपरेशंस ऑन लिस्ट। तो ये तो हमने लिस्ट डेटा टाइप को कवर कर लिया। इसके बाद जो सेकंड डेटा टाइप जो काफी यूज़फुल होता है हमारे लिए दैट इज़ अ टपल। अब जैसे Python के अंदर लिस्ट म्यूटेबल होते हैं। टपल्स हमारे इम्यूटेबल होते हैं। मतलब एक बार जो टपल स्ट्रिंग्स की तरह हमने क्रिएट कर दिया वो वैसे ही क्रिएटेड रहेगा। उसे हम चेंज या मॉडिफाई नहीं कर सकते। इफ वी वांट टू मेक सम चेंजज़ टू इट देन वी हैव टू क्रिएट अ न्यू टपल। टपल ऑलमोस्ट वैसे ही 1:37:38 दिखते हैं एंड फंक्शन करते हैं जैसे हमारी लिस्ट फंक्शन करती हैं। बस ये इम्यूटेबल होते हैं। जैसे इसी मार्क्स को अगर हमें टपल की फॉर्म में स्टोर करना होता तो कुछ नहीं करना था। बस एक पैरेंथेसिस को यूज़ करते एंड दिस विल बिकम आवर टपल। अब हम प्रिंट करवाएं अगर इफ आई ट्राई टू प्रिंट आवर मार्क्स एंड टाइप ऑफ़ मार्क्स। तो अब हमारे पास एक टपल क्रिएट होकर आ जाएगा। तो इस तरीके से वी विल हैव अ टपल नाउ। एंड टपल के अंदर भी उसी तरीके से इंडेक्स वैल्यूज़ को हम एक्सेस कर सकते हैं। जैसे इफ आई वांट आई कैन गो एंड एक्सेस मार्क्स ऑफ टू। तो मार्क्स ऑफ टू में हमारे पास 97 आकर प्रिंट हो जाएगा। तो वी विल गेट द 97 वैल्यू। अब टपल्स पर भी कुछ-कुछ ऑपरेशंस हैं जिनको हम परफॉर्म कर सकते हैं। डेफिनेटली वो ऑपरेशंस जैसे लिस्ट के अंदर हम वैल्यूज़ ऐड कर सकते थे, इंसर्ट कर सकते थे। वैसे ऑपरेशंस टपल्स पर परफॉर्म नहीं हो सकते जो हमारे टपल को मॉडिफाई कर दे। पर टपल्स के ऊपर हम डिफरेंट ऑपरेशंस परफॉर्म कर सकते हैं। जैसे वी कैन काउंट द अकरेंस ऑफ़ अ नंबर इन अ टपल। जैसे लेट्स सपोज़ हमारे पास 95 यहां पर आ रहा है। प्लस उसके साथ में हमारे पास 95 दो बार और आ रहा है। एंड इफ वी वांट टु काउंट द नंबर 1:38:38 ऑफ़ टाइम्स जितनी बार ये 95 हमारे टपल के अंदर एग्ज़िस्ट करता है। तो उस काउंट को हम प्रिंट करवा सकते हैं। एंड इट विल टर्न आउट टू बी थ्री। हम चाहें तो इंडेक्स भी प्रिंट करवा सकते हैं। मतलब 95 फर्स्ट टाइम हमारे टपल के अंदर कहां पर कौन से इंडेक्स पे एग्ज़िस्ट करता है। तो इट विल बी 0 1 2 3 तो हमारे पास आंसर आएगा थ्री के इक्वल इंडेक्स थ्री। तो इस तरीके से हम डिफरेंट ऑपरेशंस को परफॉर्म कर सकते हैं। अच्छा इफ़ आई वांट कि मार्क्स ऑफ़ ज़ीरो की जगह यहां पर 100 आ जाए। सो दैट इज़ नॉट पॉसिबल इन अ टपल। तो एग्जीक्यूट करेंगे तो हमारे पास आएगा एरर दैट टपल ऑब्जेक्ट डज़ नॉट सपोर्ट आइटम असाइनमेंट। आइटम असाइनमेंट कहने का मतलब है ये जो वैल्यू ये जो आइटम हम इस टपल को असाइन कर रहे हैं इंडेक्स को। दिस इज़ नॉट पॉसिबल बिकॉज़ टपल्स आर इम्यूटेबल। अच्छा टपल्स को क्रिएट करने के लिए वैसे पैरेंथेसिस लगाना कंपलसरी नहीं होता। मतलब इवन विदाउट द पैरेंथेसिस हम अगर प्रिंट करेंगे टाइप ऑफ मार्क्स तो इट्स गोइंग टू बी अ टपल बाय डिफॉल्ट लेट्स रन दिस मार्क्स 1:39:39 तो इट्स गोइंग टू बी अ टपल बाय डिफॉल्ट बट फिर भी हम पैरथेसिस को हमेशा लगाते हैं पाइथन के अंदर टू मेक द कोड मोर रीडेबल क्योंकि नॉर्मली अगर हम सिर्फ कॉमा से सेपरेट करके नंबर्स को लिखेंगे दैट इज़ नॉट अ वेरी इंट्यूटिव वे टू राइट कोड तो जब भी टपल को क्रिएट करना है, पैरेंथेसिस के साथ क्रिएट करना है। जब भी लिस्ट को क्रिएट करना है, हमें स्क्वायर ब्रैकेट्स के साथ क्रिएट करना है। नाउ लेट्स टॉक अबाउट आवर थर्ड डेटा टाइप व्हिच इज़ कॉल्ड अ सेट। अब मैथ के अंदर हमने सेट्स पढ़े होंगे। मैथ के अंदर सेट्स क्या होते थे? यूनिक आइटम्स का कलेक्शन होते थे। वही सेम लॉजिक हमारे प्रोग्रामिंग के अंदर सेट्स फॉलो करते हैं। मतलब अगर हमें यूनिक आइटम्स का कभी भी कलेक्शन चाहिए तो उसको हम बना सकते हैं इन द फॉर्म ऑफ़ अ सेट। हाउ डू वी क्रिएट अ सेट? वी क्रिएट अ सेट यूजिंग कर्ली बसेस। जैसे एग्जांपल के लिए लेट्स सपोज हमने कुछ मार्क्स क्रिएट किए एंड कर्ली बसेस के अंदर कुछ मार्क्स स्टोर करवाए। हमारे पास 98 है, 97 है, 95 है, 96 है, दोबारा से 95 है एंड दोबारा से 96 है। तो ये 95 यहां पर रिपीट हो रहा है एंड ये 96 यहां पर रिपीट हो रहा है। तो हमने एक सेट को क्रिएट किया 1:40:41 है विथ द हेल्प ऑफ़ कर्ली ब्रेसेस। बट इफ आई प्रिंट द लेंथ ऑफ़ मार्क्स। अभी कितने नंबर्स हैं? 1 2 3 4 5 एंड सिक्स। बट द लेंथ ऑफ़ मार्क्स इज़ नॉट गोइंग टू बी सिक्स। द लेंथ ऑफ़ मार्क्स इज़ गोइंग टू बी फोर। लेट्स चेक दिस आउट। हमारे पास फोर ही आइटम्स आएंगे। क्यों? क्योंकि डुप्लीकेट आइटम्स को सेट बाय डिफ़ॉल्ट स्टोर ही नहीं करता। अगर सेट के अंदर ऑलरेडी 95 आ गया, तो सेकंड टाइम 95 को स्टोर नहीं करेगा। थर्ड टाइम भी स्टोर नहीं करेगा। एंड इफ आई वांट टू प्रिंट द मार्क्स सेट। तो इस तरीके से हमारे पास मार्क्स का सेट आ जाएगा। तो ये हमारा सेट वर्क करता है। एंड हम चाहें तो सेट पर लूप्स भी लगा सकते हैं। जैसे इफ आई वांट टू प्रूट ऑल ऑफ द स्कोर्स इन मार्क्स तो कुछ नहीं करना। डायरेक्टली जाकर प्रिंट करना है द स्कोर एंड वी विल गेट द कंप्लीट लिस्ट ऑफ़ ऑल ऑफ़ द मार्क्स व्हिच आर स्टोर्ड इन द सेट। तो कभी भी हमें यूनिक आइटम्स को स्टोर कराना है तो वी कैन जस्ट डायरेक्टली क्रिएट अ सेट एंड स्टोर आवर यूनिक आइटम्स देयर। एंड हमारा जो लास्ट डेटा टाइप जो हमारे पास एग्ज़िस्ट करता है दैट इज़ कॉल्ड अ डिक्शनरी। डिक्शनरी भी 1:41:42 वैसे ही सिमिलरली वर्क करती है जैसे रियल लाइफ के अंदर डिक्शनरी होती है। जैसे वी हैव सीन अ हिंदी और एन इंग्लिश डिक्शनरी। तो उसमें क्या होता है? हमारे पास वर्ड मीनिंग्स होते हैं। हमारे पास कोई वर्ड होता है एंड उस वर्ड का कुछ ना कुछ मीनिंग हमारे पास स्ट होता है। तो पython डिक्शनरी के अंदर इसी वर्ड की जगह हमारे पास की होता है। एंड हर की के लिए हमारे पास कुछ ना कुछ वैल्यू स्टर्ड होती है। सो डिक्शनरी इज़ अ कलेक्शन ऑफ़ की वैल्यू पेयर्स। की और वैल्यू के पेयर्स हमारे पास स्टर्ड होते हैं। और डिक्शनरी के अंदर सारी की सारी जो कीज़ हैं वो बाय डिफ़ॉल्ट यूनिक होती हैं। डिक्शनरी को कैसे क्रिएट करते हैं? जैसे लेट्स सपोज़ हमें बहुत सारे स्टूडेंट्स और उनके मार्क्स स्टोर करवाने हैं। या इससे भी एक सिंपल एग्जांपल लेते हैं। लेट्स सपोज़ किसी एक स्टूडेंट के लिए हमें उसके सब्जेक्ट के साथ मार्क्स स्टोर करवाने हैं। जैसे इफ आई वांट टू स्टोर द मार्क्स। तो सबसे पहले तो हम मैथ के मार्क्स स्टोर करवाएंगे। लेट्स सपोज़ दैट्स 99। उसके बाद हम फिजिक्स के मार्क्स स्टोर करवा लेते हैं 97 एंड उसके बाद केमिस्ट्री के मार्क्स स्टोर करवा लेते हैं 98। तो इस 1:42:45 तरीके से हमारे पास हर एक सब्जेक्ट के मार्क्स स्टोर हो गए। एंड दिस इज़ व्हाट अ डिक्शनरी इज़। इसके अंदर ये एक की वैल्यू पेयर है जिसके अंदर मैथ इज़ द की एंड 99 इज़ द वैल्यू। सिमिलरली फिजिक्स इज़ द की एंड 97 इज़ द वैल्यू। एंड की एंड वैल्यू को हम अपने कोलन से सेपरेट करते हैं और पूरे पेयर को हम अपने कॉमा से सेपरेट करते हैं। जैसे इफ आई वांट टू प्रिंट मार्क्स एंड टाइप ऑफ मार्क्स तो हमारे पास डिक्शनरी प्रिंट होकर आएगा। डीआईसीटी डिक मतलब डिक्शनरी। अब यहां पर हमारी जो कीज़ हैं वो हमेशा यूनिक रहती हैं। वो डुप्लीकेट नहीं हो सकती। पर वैल्यूज़ डुप्लीकेट हो सकती हैं। जैसे मैथ्स एंड केमिस्ट्री दोनों में अगर 99 मार्क्स आए हैं देन दैट इज़ अ वैलिड वैल्यू दैट कैन एज़िस्ट इन द डिक्शनरी। उसके साथ में लेट्स सपोज़ अगर हमें किसी भी स्पेसिफिक सब्जेक्ट के मार्क्स को एक्सेस करना है। मतलब किसी भी वैल्यू को अगर हम एक्सेस करना चाहते हैं तो यहां पर डिक्शनरी में हमारे पास कोई इंडेक्स नहीं होता। इंस्टेड वी एक्सेस विद द की वैल्यू। जैसे अगर हमें फिजिक्स के मार्क्स प्रिंट करवाने हैं तो हम लिखेंगे मार्क्स ऑफ 1:43:46 फिजिक्स। तो उस केस में हमारे पास फिजिक्स के मार्क्स प्रिंट होकर आ जाएंगे व्हिच इज़ इक्वल टू 97। प्लस हम एकिस्टिंग वैल्यूज़ को मॉडिफाई कर सकते हैं। जैसे इफ आई वांट टू चेंज द मार्क्स इन फिजिक्स फिजिक्स के मार्क्स को 97 की जगह अगर लेट्स सपोज हम 95 करना चाहते हैं तो वो मॉडिफाई हो जाएंगे। सो डिक्शनरी इज़ म्यूटेबल। एंड उसके साथ में इफ वी वांट टू ऐड अ न्यू आइटम तो वो भी पॉसिबल है। जैसे अगर हम फिजिक्स के साथ अपने इंग्लिश के मार्क्स को भी ऐड करना चाहते हैं। लेट्स सपोज़ इसको 95 रख लेते हैं। एंड इफ आई वांट टू प्रिंट द इंग्लिश मार्क्स हियर। लेट्स क्लियर दिस। रीरन तो हमारे पास यहां पर इंग्लिश के मार्क्स भी प्रिंट होकर आ जाएंगे। अगर हमें लूप लगाना है अपनी पूरी डिक्शनरी पर तो वी डू इट लाइक दिस कि हम की को मार्क्स के अंदर मतलब बाय डिफ़ॉल्ट जब भी हम इन कीवर्ड को यूज़ करते हैं और फॉर लूप को यूज़ करते हैं तो हमारा जो भी आइटरेटर होता है उसके अंदर मार्क्स की की वैल्यूज़ आ जाती हैं। तो हम प्रिंट कर सकते हैं द की एंड वी कैन आल्सो प्रिंट द मार्क्स ऑफ़ की। इट्स क्लियर दिस एंड 1:44:48 प्रिंट। तो इस तरीके से वी कैन लूप ओवर दी एंटायर डिक्शनरी। तो इस तरीके से हमारे चारों कॉम्प्लेक्स डेटा टाइप्स Python के अंदर वर्क करते हैं। एंड जस्ट एज़ अ साइड नोट जब भी हमारे पास म्यूटेबल डेटा टाइप्स होते हैं वो जनरली स्लोअर होते हैं एज़ कंपेयर टू इम्यूटेबल डेटा टाइप्स। क्योंकि इम्यूटेबल डेटा टाइप्स के अंदर कोई एडिशन, कोई मॉडिफिकेशंस अलाउड नहीं होते। तो वहां पर इट्स सिंपलर एंड फास्टर इन मेमोरी टू परफॉर्म ऑपरेशंस ऑन देम। तो इससे हम कह सकते हैं कि हमारे जो टपल्स हैं वो जनरली फास्टर होते हैं एज़ कंपेयर टू आवर लिस्ट। तो कभी भी अगर हमारे पास ऐसा डेटा है जिसके अंदर हमें ऐड करना है या चीजों को मॉडिफाई करना है, चीजों को डिलीट करना है तो वहां पर तो उस डेटा को हम लिस्ट के अंदर स्टोर करेंगे। पर अगर हमारे पास ऐसा डेटा है जिसको हमें बस एक बार स्टोर करना है उसको खास मॉडिफाई नहीं करना तो ऐसे डेटा को हम अपने टपल्स के अंदर स्टोर करना प्रेफर करेंगे। सो, दिस इज़ व्हेयर वी कंप्लीट आवर पार्ट फाइव। एंड इसके साथ में वी कैन पॉज द लेक्चर हियर एंड कंप्लीट आवर प्रैक्टिस एक्सरसाइज फाइव। एंड नाउ, लेट्स मूव ऑन टु द फाइनल पार्ट व्हिच इज़ गोइंग टू बी पार्ट सिक्स। नाउ इन पार्ट सिक्स दीज़ आर द कांसेप्ट्स दैट वी आर गोइंग टू कवर। सबसे पहले बात करते हैं व्हाट एग्जैक्टली आर फंक्शनंस। हमारे कोड के 1:45:49 अंदर अगर हमें कोई काम परफॉर्म कराना है तो एक तो तरीका है कि उसी काम को हम बार-बार बार-बार रिपीट करके लिख सकते हैं। जैसे लेट्स सपोज़ काम इन द सेंस कोई हमें ऑपरेशन परफॉर्म करना है। जैसे लेट्स सपोज़ वी आर गिवन द प्राइस ऑफ़ एन आइटम। हमारे पास किसी एक आइटम का प्राइस है। द प्राइस इज़ 100. हमें इस आइटम के प्राइस में जीएसटी अमाउंट को ऐड करना है। तो जीएसटी को हम 18% अस्यूम कर सकते हैं। तो प्राइस से अगर हमें न्यू प्राइस कैलकुलेट करना है जिसके अंदर हम जीएसटी को भी ऐड करेंगे। तो एक तो हम ओरिजिनल प्राइस वैल्यू लेंगे एंड उसके अंदर वी नीड टू ऐड 18% जीएसटी। जिसका मतलब है कि ओरिजिनल प्राइस को ही हम मल्टीप्लाई कर देंगे 0.18 के साथ। सो दिस इज़ प्राइस + 18% जीएसटी। तो हमारे पास न्यू प्राइस आ जाएगा। तो लेट्स लुक एट द न्यू प्राइस वैल्यू एंड ये हो गया हमारे पास 118. अब लेट्स सपोज ये जो जीएसटी ऐड करने का काम है ये हमें डिफरेंट प्राइसेस के साथ करना है। मतलब प्राइस वन की वैल्यू 100 है। इसके अंदर भी हमें जीएसटी ऐड करना है। तो इस तरीके से ऐड करेंगे तो ये हमारा न्यू प्राइस वन हो जाएगा। सेम काम कल को 1:46:49 हमें प्राइस टू के साथ भी करना है। सो वी हैव सम प्राइस टू वैल्यू। तो इसके लिए दोबारा से हमें एक और लाइन लिखनी पड़ेगी। दोबारा से सारा काम परफॉर्म करना पड़ेगा। एंड इस तरीके से कोड के अंदर क्या होगा? एक रिडंडेंसी आएगी। रिडंडेंसी मतलब सेम लॉजिक हम बार-बार बार-बार लिख रहे हैं। तो कभी भी एक अच्छे प्रोग्रामर की एक स्किल्ड प्रोग्रामर की निशानी ये होती है कि कभी भी वो सेम कोड को सेम लॉजिक को बार-बार नहीं लिखते। अगर कहीं हमें कोड के अंदर ऐसा दिख रहा है प्रोग्राम में दिख रहा है कि वही लॉजिक बार-बार रिपीट हो रहा है तो वी कन्वर्ट दैट लॉजिक इंटू अ फंक्शन। मतलब हम एक सिंगल ब्लॉक ऑफ कोड सिंगल पीस ऑफ़ कोड बना देंगे जो वो उस सेम काम को परफॉर्म करेगा। जैसे अगर जीएसटी 18% जीएसटी ऐड करने का काम हमें बार-बार परफॉर्म करना पड़ रहा है तो हम क्या करेंगे? उसको एक फंक्शन के अंदर कन्वर्ट कर देंगे। फंक्शन बनाने का क्या मतलब है? फंक्शन बनाने का मतलब है जैसे एग्जांपल लेते हैं। एक ऐसा फंक्शन जो दो नंबर्स का सम कैलकुलेट करता है। मतलब हो सकता है दो नंबर्स का सम हमें बार-बार कैलकुलेट करना पड़ रहा हो कि 1 + 2 कैलकुलेट करना पड़ रहा है। फिर दोबारा से सम टू में हमें 5 + 1:47:51 4 कैलकुलेट करना पड़ रहा है। इस तरीके से वी आर कैलकुलेटिंग सम अगेन एंड अगेन। तो इस सम कैलकुलेट करने को सिंपलीफाई करने के लिए हम क्या कर सकते हैं? एक सम कैलकुलेट करने का फंक्शन बना सकते हैं। कैसे बनाएंगे? वी विल डिफाइन अ फंक्शन। तो डिफाइन करने के लिए वी राइट द डेफ कीवर्ड एंड हम अपने फंक्शन का नाम लिखते हैं। तो फंक्शन को हम सम नाम दे सकते हैं। फिर हम डिफाइन करते हैं कि क्या-क्या ऑपरेटर्स होंगे या कौन-कौन सी वैल्यूज़ होंगी जो इस फंक्शन को चाहिए होंगी। अब अगर हमें दो नंबर्स का सम कैलकुलेट करना है। तो हमें दो नंबर्स चाहिए होंगे। a एंड b हमने उन दो नंबर्स को नाम दे दिया। एंड यहां पर हम अपने फंक्शन का पूरा लॉजिक लिखेंगे। मतलब ये फंक्शन क्या करेगा? ये फंक्शन a + b की वैल्यू को कैलकुलेट करेगा। लेट्स कमेंट दिस आउट। तो अब कभी भी अगर हमें सम कैलकुलेट करना है तो हम सिंपली अपने सम फंक्शन को कॉल करेंगे। इसके अंदर वन और टू वैल्यूस को पास कर देंगे और हमारे पास उन वैल्यूस का सम कैलकुलेट होकर आ जाएगा व्हिच इज़ इक्वल टू थ्री। सो हाउ इज़ इट वर्किंग? इट्स वर्किंग लाइक दिस कि सम फंक्शन को यहां से कॉल किया जा रहा है। ये हमने क्या किया है? यहां पर डेफ कीवर्ड से 1:48:54 हमने क्या किया है? अपने फंक्शन को डिफाइन किया है। इसको कहते हैं फंक्शन को डिफाइन करना। और यहां पर सम लिखकर हमने क्या किया है? इनफैक्ट इसको प्रिंट करने की जगह ऐसे लिख लेते हैं। यहां पर सम लिखकर हमने क्या किया है? यहां पर सम लिखकर हमने अपने फंक्शन को कॉल किया है। कॉल करने का मतलब होता है फंक्शन को यूज़ करना। सो वी डोंट एक्चुअली हैव टू प्रिंट। वी जस्ट हैव टू कॉल द फंक्शन। और हमारे पास थ्री वैल्यू आकर प्रिंट हो जाएगी। तो अब हमारे पास 131 एंड 222 है तो इनका सम हमारे पास आ जाएगा 333 के इक्वल। तो इस तरीके से हम फंक्शनंस को डिफाइन करते हैं। अब यही जीएसटी के लिए हमें कोई फंक्शन बनाना होता तो कैसे बनाते? हम सिंपली डिफाइन करते हैं एक फंक्शन। इसको नाम दे देते हैं कैलकुलेट जीएसटी या कैलकुलेट न्यू प्राइस। कुछ भी नाम दे सकते हैं। अब नया प्राइस कैलकुलेट करने के लिए क्या चाहिए? हमें ओल्ड प्राइस चाहिए। तो हमें ओल्ड प्राइस वैल्यू चाहिए होगी। तो न्यू प्राइस कैसे कैलकुलेट करेंगे? न्यू प्राइस विल बी इक्वल टू व्हाटएवर इज़ द ओल्ड प्राइस प्लस प्राइस वैल्यू * 0.18 1:50:00 तो अब हमें इस तरीके से बार-बार सेम काम परफॉर्म करने की जरूरत नहीं है। लेट मी रिमूव दिस। तो ये क्या हो गया? ये हमारा फंक्शन डेफिनेशन हो गया जिसके अंदर हमने फंक्शन को डिफाइन कर दिया। अब हम अपने फंक्शन को कॉल करेंगे। जैसे हम कैलकुलेट जीएसटी को कॉल कर सकते हैं फॉर प्राइस 100। तो हमारे पास 100 के लिए जीएसटी वैल्यू प्रिंट होकर आ जाएगी। अच्छा लेट्स आल्सो प्रिंट द न्यू प्राइस वैल्यू। तो हमारे पास 100 के लिए विद जीएसटी नया प्राइस आ जाएगा 118। यही सेम काम हम कोई दूसरे प्राइस के लिए कर सकते हैं। मतलब अगर 200 वैल्यू है तो उसके लिए वी विल गेट द प्राइस एज़ 236। तो कोई भी प्राइस वैल्यू अगर हम ऐड करेंगे। लेट्स सपोज़ हमारे पास 250 वैल्यू है। तो ₹550 के लिए जीएसटी ऐड हो के हो जाएगा ₹449। सो दिस इज़ हाउ वी क्रिएट अ फंक्शन। अब वो जो जीएसटी क्रिएट करने का, जीएसटी ऐड करने का लॉजिक है वो अब हमें हर एक इंडिविजुअल स्टेटमेंट के साथ बार-बार लॉजिक नहीं रिपीट करना पड़ रहा। फार्मूला या लॉजिक हमें एक ही बार लिखना पड़ रहा है। एंड दिस इज़ अ रयूजेबल पीस ऑफ़ कोड जिसको हम बार-बार 1:51:02 रीयूज़ कर सकते हैं सेम काम को परफॉर्म करने के लिए। तो अब कभी भी अगर हमें 18% जीएसटी ऐड करना है, वी कैन सिंपली कॉल दिस पर्टिकुलर फंक्शन। अच्छा, फंक्शन के अंदर ये जो वैल्यूज़ होती हैं जिनको हम पैरेंथेसिस के अंदर लेते हैं इन वैल्यूज़ को हम कहते हैं पैराटर्स। जो पैराटर्स हमारे फंक्शन डेफिनेशन के अंदर पैरेंथेसिस में डिफाइंड होते हैं। एंड जो वैल्यू हम एक्चुअली पास करते हैं फंक्शन कॉल के अंदर इसे हम कहते हैं फंक्शन आर्गुमेंट्स। ये बस टेक्निकल टर्म्स हैं। इसका एज़ सच हमारी प्रोफिशिएंसी या स्किल्स से कोई रिलेशन नहीं है। बट स्टिल वी शुड नो कि इस वैल्यू को पैरामीटर कहा जाता है। इस वैल्यू को आर्गुमेंट कहा जाता है। एंड आर्गुमेंट्स जाकर हमारे पैरामीटर्स के अंदर स्टोर होते हैं। जब भी हम फंक्शन को कॉल करते हैं। उसके साथ में इंस्टेड ऑफ़ जस्ट प्रिंटिंग द वैल्यू, वी कैन आल्सो रिटर्न वैल्यूज़ फ्रॉम द फंक्शन। मतलब किसी भी फंक्शन से हम चाह तो कोई भी वैल्यू रिटर्न कर सकते हैं। जैसे हमने इस न्यू प्राइस को रिटर्न कर दिया। हम सिर्फ एक ही सिंगल वैल्यू को रिटर्न कर सकते हैं फंक्शन से। तो अगर हम वैल्यू रिटर्न करेंगे तो इस केस में फंक्शनंस को जब कॉल किया जाएगा तो कुछ भी प्रिंट नहीं होगा। बिकॉज़ देयर इज़ नो प्रिंट स्टेटमेंट। तो इस बार जब फंक्शन कॉल होगा तो वैल्यू रिटर्न होगी एंड 1:52:04 रिटर्नड वैल्यू को या तो हम कहीं डायरेक्टली स्टोर कर सकते हैं या फिर डायरेक्टली प्रिंट कर सकते हैं। तो अब हम वैल्यू प्रिंट करवाएंगे तो हमारे पास फाइनल वैल्यू प्रिंट होकर आ जाएगी। सो दिस इज़ हाउ वी डिफाइन एंड यूज़ आवर फंक्शनंस। अब हमारे पास तीन तरीके के फंक्शनंस हो सकते हैं। फंक्शनंस के अंदर एक तरीके के फंक्शनंस को तो हम ऑलरेडी डिस्कस कर चुके हैं। व्हिच आर द यूजर डिफाइंड फंक्शन। यूजर डिफाइंड फंक्शनंस मतलब जिन फंक्शनंस को हम क्रिएट करते हैं। जैसे कैलकुलेट जीएसटी का फंक्शन हमने क्रिएट किया। सम का फंक्शन हम क्रिएट कर सकते हैं। तो ये यूजर डिफाइंड है। उसके अलावा हमारे पास इनबिल्ट फंक्शन भी हो सकते हैं जिनका लॉजिक ऑलरेडी लिखा होता है। जैसे कुछ फंक्शनंस हैं जिनको हम ऑलरेडी यूज़ करते आ रहे हैं। इफ वी लुक एट द प्रिंट स्टेटमेंट इफ आई प्रिंट समथिंग इफ आई प्रिंट हेलो व्हाट इज़ दिस प्रिंट दिस प्रिंट इज़ एक्चुअली अ फंक्शन। ये एक फंक्शन है जिसके अंदर ये हमने एक स्ट्रिंग पास कर दी है। ये हम एक आर्गुमेंट पास कर रहे हैं फंक्शन को कॉल करने के लिए। तो टर्मिनल पे प्रिंट करने का लॉजिक ऑलरेडी प्रिंट फंक्शन के अंदर लिखा हुआ है। हमें सिर्फ उसको यूज़ करना है। सिमिलरली हमारे पास वी आल्सो हैव द 1:53:05 लेंथ फंक्शन। जैसे अगर हमें किसी लिस्ट 1 2 3 4 5 दिस इज़ अ लिस्ट ऑफ़ फाइव आइटम्स इसकी लेंथ कैलकुलेट करनी है। तो इसका फंक्शन हमारे पास ऑलरेडी है। द लेंथ इज़ इक्वल टू फाइव। अगर हमें इसके अंदर मिनिमम वैल्यू को फाइंड आउट करना है। तो उसका फंक्शन भी ऑलरेडी है। मिनिमम वैल्यू इज़ वन। वी कैन ऑल्सो फाइंड द मैक्सिमम वैल्यू व्हिच इज़ इक्वल टु फाइव। उसके साथ में अगर हमें इसका टाइप चेक करना है तो टाइप नाम का फंक्शन भी हमारे पास है। तो ये सारे के सारे क्या हैं? ये सारे के सारे हमारे इनबिल्ट फंक्शनंस हैं जिनको हम यूज़ कर रहे हैं। प्लस वी आल्सो हैव मॉड्यूल फंक्शनंस। मॉड्यूल्स क्या होती है? मॉड्यूल्स आर अ कलेक्शन ऑफ़ रिलेटेड फंक्शनंस, रिलेटेड क्लासेस, रिलेटेड वेरिएबल्स। मतलब रिलेटेड चीजों का अगर हम एक बंडल बना दें Python के अंदर, तो उसको हम मॉड्यूल कहते हैं। एंड इस तरीके की काफी सारी यूज़फुल मॉड्यूल्स ऑलरेडी Python के अंदर एग्ज़िस्ट करती हैं। जैसे देयर इज़ अ वेरी यूज़फुल मॉड्यूल इन Python व्हिच इज़ कॉल्ड मैथ। मैथ मॉड्यूल के अंदर हमारे पास बहुत सारे फंक्शनंस हैं। जैसे इफ आई प्रिंट डायरेक्टरी ऑफ मैथ। तो मैथ मॉड्यूल के अंदर क्या-क्या है वो हमारे पास प्रिंट होकर आ जाएगा। जैसे मैथ मॉड्यूल के अंदर 1:54:06 इज़ स्क्वायर रूट, फ्लोर का फंक्शन, फैक्टोरियल का फंक्शन, एक्सप्पोनेंशियल वैल्यू कैलकुलेट करने का फंक्शन, हमारे पास log कैलकुलेट करने का फंक्शन, sin कैलकुलेट करने का फंक्शन, cos कैलकुलेट करने का फंक्शन। तो बहुत सारे मैथ से रिलेटेड फंक्शनंस हमारे पास आ जाते हैं। जैसे एग्जांपल के लिए फ्रॉम द मैथ मॉड्यूल लेट्स इंपोर्ट स्क्वायर रूट। तो स्क्वायर रूट को अगर हम इंपोर्ट करेंगे एंड इफ आई प्रिंट स्क्वायर रूट ऑफ़ 16 तो दिस इज़ गोइंग टू गिव मी द फोर वैल्यू। तो इस तरीके से हम स्क्वायर रूट को कैलकुलेट कर सकते हैं। साथ में हमारे पास log 2 फंक्शन भी होता है। जैसे log 2 ऑफ़ 16 को अगर कैलकुलेट करेंगे तो इट इज़ गोइंग टू बी इक्वल टू 4। log 2 क्या रिटर्न करता है? log 2 बेसिकली रिटर्न कर रहा है कि टू की क्या ऐसी पावर रखें कि 16 आ जाए। तो टू की पावर हम फोर रख सकते हैं कि हमारे पास आंसर में 16 आ जाएगा। दैट इज़ द मीनिंग ऑफ़ log बेस टू। तो log बेस टू को हम यूज़ कर सकते हैं। तो ये मैथ मॉड्यूल हो गई। इसी तरीके से हमारे पास एक और मॉड्यूल होती है व्हिच इज़ कॉल्ड रैंडम। इफ आई इंपोर्ट द 1:55:08 रैंडम मॉड्यूल तो रैंडम के अंदर हमारे पास एक फंक्शन होता है व्हिच इज़ रैंडम डॉट रैंडम। रैंडम डॉट रैंडम फंक्शन क्या करता है? ये ज़ीरो से वन की रेंज में कोई एक रैंडम नंबर हमें जनरेट करके देता है। दिस इस रेंज के अंदर वन इज़ नॉट इंक्लूडेड। मतलब वन से छोटी ही वैल्यू जनरेट करके देगा। एंड हर बार ये रैंडम वैल्यू जनरेट करेगा। मतलब यू कैन सी दैट ऑल ऑफ़ द वैल्यूज़ आर डिफरेंट। तो इफ वी वांट अ रैंडम वैल्यू टू गेट जनरेटेड वो हमारे पास आ जाएगी। इसी के अंदर हमारे पास एक और फंक्शन होता है व्हिच इज़ कॉल्ड रैंडम इंट। रैंडम इंट एक रेंज के अंदर वैल्यूज़ जनरेट करता है। मतलब a से B की कोई रेंज हो जैसे अगर हमें वन से लेकर 10 की रेंज में कोई एक रैंडम वैल्यू जनरेटेड चाहिए। तो पहले फाइव जनरेट हो जाएगा, फिर से हो जाएगा, नाइन हो जाएगा, फाइव हो जाएगा, फोर हो जाएगा। तो रैंडम वैल्यूज़ विल गेट जनरेटेड। एंड ये जो एंड बी की रेंज होती है, इसमें दोनों इंक्लूडेड होते हैं। मतलब वन भी जनरेट हो सकता है, 10 भी जनरेट होता है। सो, दिस इज़ हाउ आवर मॉड्यूल फंक्शनंस एग्ज़िस्ट। तो, यहां पर हमारा पार्ट सिक्स कंप्लीट होता है। एंड नाउ वी कैन पॉज़ हियर एंड ट्राई एंड कंप्लीट द प्रैक्टिस 1:56:08 एक्सरसाइज़ फॉर पार्ट सिक्स। एंड फाइनली हम अपने क्रैश कोर्स के लास्ट पार्ट पर आ गए हैं। व्हिच इज़ द प्रैक्टिस एक्सरसाइज़ सेवन व्हिच इज़ बिल्डिंग अ मिनी प्रोजेक्ट यूजिंग Python। तो पाइthन के अभी तक जितने भी कांसेप्ट्स को हमने सीखा है उन सबको कंबाइन करके हम एक गेसिंग गेम को बिल्ड करने वाले हैं। नाउ व्हाट एक्सक्टली इज़ दिस गेम? बेसिकली हम एक ऐसा गेम बनाने वाले हैं कोड के अंदर जो क्या करेगा जो एक रैंडम नंबर जनरेट करेगा इन द रेंज फ्रॉम वन टू 50। ये रैंडम नंबर कुछ भी हो सकता है। लेट्स सपोज द रैंडम नंबर इज़ 35। इट कुड बी एनीथिंग। तो हमारे यूजर को एक गेम खेलने को मिलेगा जिसमें दे हैव टू गेस दिस रैंडम नंबर। एंड इस रैंडम नंबर को हम क्या कहेंगे? हम अपना लकी नंबर कहेंगे। तो यूजर को अपना लकी नंबर जो है वो गेस करना होगा। अगर यूजर लेट्स सपोज़ 45 गेस करता है तो उस केस में हम यूजर को हिंट देंगे कि उन्होंने काफी हाई गेस किया है। मतलब द गेस इज़ टू हाई। मतलब नेक्स्ट टाइम उन्हें 45 की जगह लेट्स सपोज़ 30 गेस करना चाहिए। मतलब थोड़ी कम वैल्यू गेस करनी चाहिए। या फिर अगर यूजर ने गेस किया 25 तो उस केस 1:57:10 में हम उनको हिंट देंगे टू लो। मतलब यूजर को अपनी जो गेस है उसको इंक्रीस करने की जरूरत है। एंड ऐसे-ऐसे हम यूजर को हिंट्स देंगे। एंड गेम तब तक चलता रहेगा जब तक यूजर अपने लकी नंबर को गेस नहीं कर लेते। सो दिस इज़ द गेम दैट वी आर गोइंग टू बिल्ड विद Python। अब सबसे पहले तो इस गेम का सबसे इनिशियल पार्ट बिल्ड करते हैं। व्हिच इज़ जनरेटिंग दिस लकी नंबर। तो लेट्स बिल्ड आवर गेम। क्लियर? एंड सबसे पहले एक फंक्शन बना लेते हैं। ऊपर इंपोर्ट कर लेंगे रैंडम। लेट्स क्रिएट अ फंक्शन टू प्ले दिस गेम। इस फंक्शन को नाम दे देते हैं प्ले गेम। एंड प्ले गेम के अंदर कोई एज सच पैरामीटर हमारे पास नहीं आएगा। सबसे पहले तो हम अपने लिए एक लकी नंबर को जनरेट करेंगे। हाउ आर वी गोइंग टू जनरेट दिस लकी नंबर यूजिंग द रैंडम मॉड्यूल। तो रैंडम मॉड्यूल के अंदर रैंडम इंट नाम का फंक्शन होता है। उससे हम वन से 50 की रेंज में कोई ना कोई एक लकी नंबर को जनरेट करेंगे। अब हमारे पास लकी नंबर तो आ गया। नाउ वी नीड टू आस्क द यूजर टू गेस द नंबर। पर यूजर वो नंबर एक बार गेस नहीं करेंगे। यूजर को 1:58:10 बार-बार नंबर को गेस करना पड़ेगा क्योंकि जरूरी नहीं है कि फर्स्ट टाइम में लकी नंबर को गेस कर ले। तो जो भी काम हमें बार-बार बार-बार परफॉर्म कराना है सेम काम रिपीटेडली उसको हम कैसे परफॉर्म कराएंगे इन द फॉर्म ऑफ़ अ लूप। तो हम क्या कर सकते हैं? एक सिंपल सा वाइल लूप क्रिएट करेंगे। अभी के लिए इसमें कोई कंडीशन नहीं डाल रहे। तो हम चाहते हैं हमारा वाइल लूप चलता ही रहे। ऑलदो इनफाइनाइट लूप हमें क्रिएट नहीं करना है। इसके अंदर स्टॉप करने की कंडीशन हम डेफिनेटली ऐड करेंगे। पर अभी के लिए टेंपरेरी यहां पर हम ट्रू लिख रहे हैं कि हमारा लूप चलता रहे और हर बार लूप के अंदर हम क्या करेंगे? यूजर से नंबर को गेस करने के लिए बोलेंगे। तो हम यूजर को बोलेंगे गेस द लकी नंबर। तो यूजर लकी नंबर को गेस करेंगे एंड उस नंबर को हम स्टोर करवा लेंगे इन द फॉर्म ऑफ यूजर नंबर। लेट्स कॉल इट यूजर नंबर। एक तो लकी नंबर है जो रैंडम नंबर है। एक यूजर नंबर है जो यूजर ने एंटर किया है। और फिर चेक करेंगे कि क्या हमारा यूजर नंबर लकी नंबर के इक्वल है? मतलब क्या 1:59:11 यूजर ने सही गेस कर लिया है? अगर लकी नंबर यूजर के इक्वल है इफ द यूजर नंबर इज़ इक्वल टू द लकी नंबर। तो उसका मतलब है कि यूजर ने सही गेस कर लिया है उस केस में तो यूजर हैज़ वन द गेम। तो प्रिंट करवा देंगे U1 गेम ओवर। एंड इस तरीके से हम प्रिंट करवा सकते हैं। बाकी सारे केसेस में क्या होगा? तीन ही केसेस हो सकते हैं। या तो यूजर का नंबर लकी नंबर के इक्वल है। या यूजर का नंबर लकी नंबर से बड़ा है या यूजर का नंबर लकी नंबर से छोटा है। एलसीएफ वाला केस क्या होगा? इफ द यूजर नंबर इज़ लेस दैन द लकी नंबर। तो उस केस में हमें यूजर को कहना है दैट यू हैव गेस टू लो। तो हम उस केस में वी कैन प्रिंट टू लो। एंड इसी का एल्स केस होगा। या तो इक्वल हो सकता है, लेस हो सकता है, या ग्रेटर दैन हो सकता है। तो हमने सिंपली एल्स लिख दिया। एंड इस केस में वी विल प्रिंट टू हाई। प्लस अगर यूजर ने सही नंबर गेस कर लिया एंड गेम ओवर हो गया। तो क्या उसके बाद 2:00:13 दोबारा हमें इस लूप को रिपीट करने की जरूरत है? डेफिनेटली नो। तो यहां से हम क्या कर जाएंगे? यहां से हम ब्रेक कर सकते हैं। सो दिस इज़ हाउ वी कंप्लीट द लूप। एंड लास्ट में जाके वी कैन सिंपली प्रिंट थैंक यू फॉर प्लेइंग। इस तरीके से हम प्रिंट कर सकते हैं। तो ये क्या हो गया? ये हमारा कंप्लीट लॉजिक हो गया हमारी गेम को प्ले करने का। नाउ लेट्स स्टार्ट प्लेइंग द गेम। गेम को एक बार प्ले करके देखते हैं। कुछ नहीं करना। हमें प्ले गेम फंक्शन को कॉल करना है गेम को प्ले करने के लिए। एंड यहां पर आ जाते हैं अपने टर्मिनल पर। लेट्स स्टार्ट द गेम। वी हैव टू गेस द लकी नंबर। अब वन से 50 तक रेंज में नंबर है वो हमें ऑलरेडी पता है। तो लेट मी गेस द मिडिल नंबर व्हिच इज़ 25। तो 25 टू हाई है। मतलब वन से 24 की रेंज में है। तो लेट्स सपोज़ हमने 12 गेस कर लिया। 12 इज़ टू लो। मतलब 12 से 24 की रेंज में है। तो इस बार हम 20 गेस कर लेते हैं। तो 20 वाज़ द लकी नंबर। तो यस वी हैव वन एंड द गेम इज़ ओवर। तो इस तरीके से वी कैन बिल्ड मल्टीपल गेम्स इनफैक्ट मल्टीपल डिफरेंट मिनी 2:01:14 प्रोजेक्ट्स यूजिंग Python। तो Python के अंदर बहुत सारे डिफरेंट कांसेप्ट्स हमने कवर कर लिए हैं आज के क्रैश कोर्स के अंदर जिनको यूज़ करके बहुत सारी इंटरेस्टिंग चीजें हम बिल्ड कर सकते हैं। बहुत सारे इंटरेस्टिंग काम को लॉजिक को हम कोड के अंदर कन्वर्ट कर सकते हैं। तो अगर यहां तक हमने अपने क्रैश कोर्स को कंप्लीट कर लिया है तो हमने काफी सारे इंपॉर्टेंट कॉन्सेप्ट्स Python के अंदर कवर कर लिए हैं। इसके बाद इफ वी वांट टू डाइव डीप इंटू Python मतलब आगे अगर हम मशीन लर्निंग सीखना चाहते हैं या इवन डेवलपमेंट सीखना चाहते हैं तो हम और डिफरेंट कॉन्सेप्ट्स को पढ़ सकते हैं Python के अंदर इन डेप्थ जाकर। जैसे फाइल हैंडलिंग हो गया या फिर ऊप्स के कांसेप्ट हो गए। ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग इन पाइथन हो गया। व्हिच इज़ आल्सो अ रियलीेंट कांसेप्ट जिसको पढ़ने में हमें कुछ घंटे का टाइम इन्वेस्ट करना पड़ेगा। तो ये सारे कांसेप्ट्स को ऑलरेडी हमने एक डिटेल्ड Python प्लेलिस्ट के अंदर एंड डिटेल्ड Python वन शॉट के अंदर कवर कर रखा है। तो अगर हम Python को और ज्यादा इन डेप्थ पढ़ना चाहते हैं, अपनी मशीन लर्निंग एंड डेवलपमेंट जर्नी के लिए Python में डाइव डीप करना चाहते हैं, तो वी कैन गो एंड रेफर टू द डिटेल प्लेलिस्ट एंड द डिटेल्ड वन शॉट ऑफ़ Python दैट वी हैव ऑन अपना कॉलेज YouTube। इनका लिंक भी 2:02:12 हमें नीचे डिस्क्रिप्शन बॉक्स के अंदर मिल जाएगा। प्लस ऑल ऑफ द रिसोर्सेज दैट वी टॉक्ड अबाउट दे आर आल्सो अवेलेबल इन द डिस्क्रिप्शन बॉक्स। सो आई होप कि आज के लेक्चर से हमें पाइथन को सीखने में बहुत ज़्यादा मजा आया होगा। एंड इन सारे कॉन्सप्ट्स को हम प्रैक्टिकली आगे जाकर अपनी मशीन लर्निंग एंड डेवलपिंग जर्नी के अंदर भी अप्लाई कर रहे होंगे। तो आज के लिए इतना ही। मिलते हैं नेक्स्ट लेक्चर्स के अंदर। टिल देन कीप लर्निंग एंड कीप एक्सप्लोरिंग।