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

पायथन सिंटैक्स त्रुटि:स्ट्रिंग शाब्दिक समाधान स्कैन करते समय ईओएल

यहां तक ​​​​कि सर्वश्रेष्ठ डेवलपर्स भी कोडिंग करते समय हर समय सिंटैक्स त्रुटियां करते हैं। प्रोग्रामिंग भाषाओं में बहुत सारे नियम होते हैं और यहां तक ​​कि एक टाइपो भी त्रुटि का कारण बन सकता है।

यदि आपको त्रुटि "सिंटैक्स त्रुटि:ईओएल स्ट्रिंग अक्षर को स्कैन करते समय" का सामना करना पड़ा है, तो चिंता न करें। इस गाइड में, हम इस बारे में बात करने जा रहे हैं कि इस त्रुटि का क्या अर्थ है और इसे कैसे हल किया जाए। संभावित कारणों और समाधानों की पहचान करने में आपकी सहायता के लिए हम कुछ उदाहरण परिदृश्यों के माध्यम से चलेंगे।

चलिए शुरू करते हैं!

समस्या:सिंटैक्स त्रुटि:स्ट्रिंग अक्षर को स्कैन करते समय EOL

सिंटैक्स एक प्रोग्रामिंग भाषा के व्याकरण की तरह है। अंग्रेजी में ऐसे नियम हैं जो विराम चिह्न और वर्तनी को नियंत्रित करते हैं; प्रोग्रामिंग भाषाओं के समान नियम हैं।

आइए हमारी त्रुटि पर एक नज़र डालें:

वाक्यविन्यास त्रुटि:स्ट्रिंग अक्षर को स्कैन करते समय EOL

सिंटैक्स त्रुटि संदेश हमें बताता है कि हमने पायथन के सिंटैक्स नियमों का पालन नहीं किया है।

त्रुटि का विवरण इंगित करता है कि पायथन किसी विशेष वर्ण को कोड की एक पंक्ति के अंत तक प्रकट होने की उम्मीद कर रहा है जो नहीं मिला था। उदाहरण के लिए, पाइथन उस पंक्ति के अंत तक एक स्ट्रिंग क्लोज (") वर्ण की अपेक्षा कर सकता है जिसमें आपने एक स्ट्रिंग खोली है।

यदि सिंटैक्स त्रुटि का सामना करना पड़ता है, तो पायथन एक प्रोग्राम को निष्पादित करना बंद कर देता है। ऐसा इसलिए है क्योंकि पायथन दुभाषिया को आपके बाकी कोड को पढ़ने से पहले समस्या को ठीक करने की आवश्यकता है।

81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।

बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।

यह त्रुटि आमतौर पर इसके कारण होती है:

  • स्ट्रिंग्स जो गलत सिंटैक्स का उपयोग करके कई पंक्तियों में फैली हुई हैं
  • उद्धरण चिह्न गायब हैं
  • बेमेल उद्धरण चिह्न

उदाहरण परिदृश्य:बहु-पंक्ति स्ट्रिंग्स

पायथन में, तार कई पंक्तियों को फैला सकते हैं। मल्टी-लाइन स्ट्रिंग के लिए सिंटैक्स पारंपरिक स्ट्रिंग से भिन्न होता है। मल्टी-लाइन स्ट्रिंग्स को ट्रिपल कोट किया जाना चाहिए, या तीन उद्धरण चिह्नों का उपयोग करके लिखा जाना चाहिए।

आइए एक बहु-पंक्ति स्ट्रिंग पर एक नज़र डालें:

def स्वागत_हीरो ():संदेश ="स्वागत है, हीरो! आपने अभी-अभी कयामत के महल में प्रवेश किया है। आपकी चुनौती, यदि आप इसे स्वीकार करना चुनते हैं, तो पवित्र पन्ना का पता लगाना और उसे यात्रा करने वाले विक्रेता के पास वापस ले जाना है।" प्रिंट (संदेश)welcome_hero()

हमने welcome_hero() . नामक एक फ़ंक्शन को परिभाषित किया है . यह फ़ंक्शन कंसोल पर एक संदेश प्रिंट करता है। यह संदेश चर "संदेश" को सौंपा गया है।

आइए अपना कोड चलाने का प्रयास करें:

फ़ाइल "main.py", लाइन 2 संदेश ="वेलकम, हीरो! ^सिंटैक्स एरर:ईओएल स्ट्रिंग लिटरल स्कैन करते समय

एक त्रुटि लौटा दी जाती है। ऐसा इसलिए है क्योंकि सिंगल या डबल कोट्स का उपयोग करने वाला एक स्ट्रिंग कई लाइनों को नहीं फैला सकता है। इस समस्या को हल करने के लिए, हमें अपनी स्ट्रिंग को तीन सिंगल या डबल कोट्स के साथ संलग्न करना होगा। इन वर्णों के बीच दिखाई देने वाला कोई भी पाठ स्ट्रिंग का हिस्सा होगा:

message ="""आपका स्वागत है, हीरो! आपने अभी-अभी कयामत के महल में प्रवेश किया है। आपकी चुनौती, यदि आप इसे स्वीकार करना चुनते हैं, तो पवित्र पन्ना का पता लगाना और उसे वापस यात्रा करने वाले विक्रेता के पास ले जाना है।""" 

आइए इस संशोधित लाइन के साथ अपना कोड चलाने का प्रयास करें। हमारा कोड लौटाता है:

स्वागत है, हीरो!आप अभी-अभी कयामत के महल में दाखिल हुए हैं। आपकी चुनौती, यदि आप इसे स्वीकार करना चुनते हैं, तो पवित्र पन्ना का पता लगाना और उसे यात्रा करने वाले विक्रेता के पास वापस ले जाना है।

सफलता! हमारा कोड बिना किसी त्रुटि के संदेश को प्रिंट करता है।

उदाहरण परिदृश्य:अनुपलब्ध कोटेशन मार्क

स्ट्रिंग की सामग्री घोषित होने के बाद स्ट्रिंग्स को बंद किया जाना चाहिए। अन्यथा, पायथन एक सिंटैक्स त्रुटि देता है। आइए एक स्ट्रिंग पर एक नज़र डालें जो बंद नहीं है:

def Welcome_hero():message ="वेलकम, हीरो! प्रिंट (मैसेज)welcome_hero()

आइए अपना कोड चलाएं:

फ़ाइल "main.py", लाइन 2 संदेश ="वेलकम, हीरो! ^सिंटैक्स एरर:ईओएल स्ट्रिंग लिटरल स्कैन करते समय

हम अपने तार बंद करना भूल गए हैं। यदि आप कोड की उस पंक्ति को देखते हैं जहां हम "संदेश" चर घोषित करते हैं, तो कोई समापन स्ट्रिंग वर्ण नहीं है।

हम उसी . का उपयोग करके अपनी स्ट्रिंग को बंद करके इस त्रुटि को ठीक कर सकते हैं उद्धरण चिह्न जिसका उपयोग हम अपनी स्ट्रिंग खोलने के लिए करते थे।

def स्वागत_हीरो ():संदेश ="स्वागत है, हीरो!" प्रिंट (संदेश)welcome_hero()

आइए अपना कोड फिर से चलाएं:

स्वागत है, हीरो!

हमारा कोड सफलतापूर्वक चलता है।

उदाहरण परिदृश्य:बेमेल उद्धरण चिह्न

किसी स्ट्रिंग को खोलने के लिए आप जिस उद्धरण का उपयोग करते हैं, वह उसी प्रकार का होना चाहिए जिस प्रकार का उद्धरण आप किसी स्ट्रिंग को बंद करने के लिए उपयोग करते हैं।

एक सिंटैक्स त्रुटि तब दी जाती है जब किसी स्ट्रिंग को खोलने और बंद करने के लिए आपके द्वारा उपयोग किए जाने वाले उद्धरणों के प्रकार भिन्न होते हैं। आइए एक ऐसे प्रोग्राम पर एक नज़र डालें जो सिंगल कोट मार्क (') का उपयोग करके एक स्ट्रिंग को खोलता है और एक डबल कोट मार्क (") का उपयोग करके एक स्ट्रिंग को बंद करता है:

def Welcome_hero():message ='वेलकम, हीरो!" प्रिंट (मैसेज)welcome_hero()

हमारा कोड लौटाता है:

फ़ाइल "main.py", लाइन 2 संदेश ='वेलकम, हीरो!" ^सिंटैक्स एरर:स्ट्रिंग शाब्दिक स्कैन करते समय ईओएल

हम अपने उद्धरणों का मिलान करके इस समस्या को ठीक कर सकते हैं। हम दोहरे उद्धरण चिह्नों (") का उपयोग करने के लिए अपना पहला उद्धरण चिह्न बदलने जा रहे हैं:

def स्वागत_हीरो ():संदेश ="स्वागत है, हीरो!" प्रिंट (संदेश)welcome_hero()

हमारा कोड अब सफलतापूर्वक चलता है:स्वागत है, हीरो!



निष्कर्ष

"सिंटैक्स त्रुटि:ईओएल स्ट्रिंग शाब्दिक स्कैन करते समय" त्रुटि प्रत्येक पायथन डेवलपर द्वारा अनुभव की जाती है। यह त्रुटि तब होती है जब:

  • आप एक स्ट्रिंग बंद करना भूल जाते हैं
  • आप गलत प्रतीक का उपयोग करके एक स्ट्रिंग बंद करते हैं
  • आप तीन के बजाय एक उद्धरण चिह्न का उपयोग करके एक बहु-पंक्ति स्ट्रिंग घोषित करते हैं

इस त्रुटि को हल करने के लिए, जाँच करें कि क्या उपरोक्त में से कोई भी शर्त सत्य है। फिर, अपने कोड में आवश्यक परिवर्तन करें। अब आप एक पायथन विशेषज्ञ की तरह इस त्रुटि को हल करने के लिए तैयार हैं!


  1. पायथन में रिवर्स स्ट्रिंग

    मान लीजिए कि हमारे पास वर्णों की एक सरणी है। हमें बिना किसी अतिरिक्त स्थान का उपयोग किए स्ट्रिंग को उल्टा करना होगा। इसलिए यदि स्ट्रिंग [H, E, L, L, O] की तरह है, तो आउटपुट [O, L, L, E, एच] इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - शुरू करने के लिए दो संकेत लें =0 और अंत =स्ट्रिंग की लंबाई

  1. केसफोल्ड () पायथन में स्ट्रिंग

    यह फ़ंक्शन किसी शब्द के अक्षरों को लोअरकेस में बदलने में सहायक होता है। जब दो स्ट्रिंग्स पर लागू किया जाता है तो यह अक्षरों के मामले के प्रकार के बावजूद उनके मूल्यों से मेल खा सकता है। केसफ़ोल्ड लागू करना() नीचे दिए गए उदाहरण में हम केसफोल्ड () फ़ंक्शन को एक स्ट्रिंग पर लागू करते हैं और परिणाम सभी

  1. पाइथन में स्ट्रिंग अक्षर के सामने 'बी' वर्ण क्या करता है?

    पायथन 2 में बी या बी के उपसर्ग को अनदेखा किया जाता है। पायथन 3 में, बाइट्स अक्षर हमेशा बी या बी के साथ उपसर्ग करते हैं; वे str प्रकार के बजाय बाइट्स प्रकार का एक उदाहरण उत्पन्न करते हैं। उनमें केवल ASCII वर्ण हो सकते हैं; 128 या उससे अधिक के अंकीय मान वाले बाइट्स को एस्केप के साथ व्यक्त किया जाना च