কম্পিউটার

পাইথন সিনট্যাক্সেরর:স্ট্রিং আক্ষরিক সমাধান স্ক্যান করার সময় EOL

এমনকি সেরা বিকাশকারীরাও যখন তারা কোডিং করে তখন সব সময় সিনট্যাক্স ত্রুটি করে। প্রোগ্রামিং ভাষার অনেক নিয়ম আছে এবং এমনকি একটি টাইপো ত্রুটির কারণ হতে পারে।

আপনি যদি স্ট্রিং লিটারাল স্ক্যান করার সময় "সিনট্যাক্সেরর:EOL" ত্রুটির সম্মুখীন হন, চিন্তা করবেন না। এই নির্দেশিকায়, আমরা এই ত্রুটির অর্থ কী এবং কীভাবে এটি সমাধান করা যায় সে সম্পর্কে কথা বলতে যাচ্ছি। সম্ভাব্য কারণ এবং সমাধান শনাক্ত করতে আপনাকে সাহায্য করার জন্য আমরা কয়েকটি উদাহরণের মাধ্যমে চলব।

শুরু করা যাক!

সমস্যা:সিনট্যাক্স ত্রুটি:স্ট্রিং আক্ষরিক স্ক্যান করার সময় EOL

সিনট্যাক্স একটি প্রোগ্রামিং ভাষার ব্যাকরণের মতো। ইংরেজির নিয়ম আছে যা বিরাম চিহ্ন এবং বানান নিয়ন্ত্রণ করে; প্রোগ্রামিং ভাষার অনুরূপ নিয়ম আছে।

আসুন আমাদের ত্রুটিটি একবার দেখে নেওয়া যাক:

 সিনট্যাক্স ত্রুটি:স্ট্রিং লিটারাল স্ক্যান করার সময় EOL

SyntaxError বার্তাটি আমাদের বলে যে আমরা Python এর সিনট্যাক্স নিয়ম অনুসরণ করিনি।

ত্রুটির বর্ণনাটি নির্দেশ করে যে পাইথন কোডের একটি লাইনের শেষে একটি নির্দিষ্ট অক্ষর উপস্থিত হওয়ার আশা করছে যা পাওয়া যায়নি। উদাহরণস্বরূপ, পাইথন একটি লাইনের শেষে একটি স্ট্রিং ক্লোজ (”) অক্ষর আশা করছে যেখানে আপনি একটি স্ট্রিং খুলেছেন।

যদি একটি সিনট্যাক্স ত্রুটির সম্মুখীন হয়, পাইথন একটি প্রোগ্রাম চালানো বন্ধ করে দেয়। কারণ পাইথন ইন্টারপ্রেটার আপনার বাকি কোড পড়ার আগে আপনাকে সমস্যাটি সংশোধন করতে হবে।

81% অংশগ্রহণকারী বলেছেন যে তারা বুটক্যাম্পে যোগ দেওয়ার পরে তাদের প্রযুক্তিগত কাজের সম্ভাবনা সম্পর্কে আরও আত্মবিশ্বাসী বোধ করেছেন। আজই একটি বুটক্যাম্পের সাথে মিলিত হন৷

গড় বুটক্যাম্প গ্র্যাড একটি বুটক্যাম্প শুরু করা থেকে শুরু করে তাদের প্রথম চাকরি খোঁজা পর্যন্ত ক্যারিয়ারের পরিবর্তনে ছয় মাসেরও কম সময় কাটিয়েছে।

এই ত্রুটি সাধারণত সৃষ্ট হয়:

  • ভুল সিনট্যাক্স ব্যবহার করে একাধিক লাইন বিস্তৃত স্ট্রিং
  • উদ্ধৃতি চিহ্ন অনুপস্থিত
  • অমিল উদ্ধৃতি চিহ্ন

উদাহরণ দৃশ্য:মাল্টি-লাইন স্ট্রিংস

পাইথনে, স্ট্রিং একাধিক লাইন বিস্তৃত করতে পারে। একটি মাল্টি-লাইন স্ট্রিং এর সিনট্যাক্স একটি প্রথাগত স্ট্রিং এর থেকে ভিন্ন। মাল্টি-লাইন স্ট্রিংগুলি অবশ্যই ট্রিপল উদ্ধৃত হতে হবে, বা তিনটি উদ্ধৃতি চিহ্ন ব্যবহার করে লিখতে হবে।

আসুন একটি মাল্টি-লাইন স্ট্রিং দেখে নেওয়া যাক:

def welcome_hero():বার্তা ="স্বাগত, হিরো! আপনি এইমাত্র ক্যাসেল অফ ডুম-এ প্রবেশ করেছেন। আপনার চ্যালেঞ্জ, আপনি যদি এটি গ্রহণ করতে চান, তা হল পবিত্র পান্না খুঁজে বের করা এবং ভ্রমণকারী বিক্রয়কর্মীর কাছে ফিরিয়ে নেওয়া।" প্রিন্ট(মেসেজ)ওয়েলকাম_হিরো()

আমরা welcome_hero() নামে একটি ফাংশন সংজ্ঞায়িত করেছি . এই ফাংশনটি কনসোলে একটি বার্তা প্রিন্ট করে। এই বার্তাটি পরিবর্তনশীল "বার্তা" এ বরাদ্দ করা হয়েছে।

আসুন আমাদের কোড চালানোর চেষ্টা করি:

ফাইল "main.py", লাইন 2 বার্তা ="স্বাগত, হিরো! ^SyntaxError:EOL যখন আক্ষরিক স্ট্রিং স্ক্যান করছে

একটি ত্রুটি ফেরত দেওয়া হয়. কারণ একক বা ডবল উদ্ধৃতি ব্যবহার করে একটি স্ট্রিং একাধিক লাইন স্প্যান করতে পারে না। এই সমস্যাটি সমাধান করার জন্য, আমাদের তিনটি একক বা দ্বিগুণ উদ্ধৃতি দিয়ে আমাদের স্ট্রিংকে আবদ্ধ করতে হবে। এই অক্ষরগুলির মধ্যে উপস্থিত যে কোনও পাঠ্য স্ট্রিংয়ের অংশ হবে:

বার্তা ="""স্বাগত, হিরো! আপনি এইমাত্র কেসেল অফ ডুম-এ প্রবেশ করেছেন। আপনার চ্যালেঞ্জ, আপনি যদি এটি গ্রহণ করতে চান, তা হল পবিত্র পান্নাটি খুঁজে বের করা এবং ভ্রমণকারী বিক্রয়কর্মীর কাছে ফিরিয়ে নেওয়া।""" 

আসুন এই সংশোধিত লাইনের সাথে আমাদের কোড চালানোর চেষ্টা করি। আমাদের কোড ফিরে আসে:

স্বাগত, হিরো! আপনি এইমাত্র ডুমের দুর্গে প্রবেশ করেছেন। আপনার চ্যালেঞ্জ, আপনি যদি এটি গ্রহণ করতে চান, তা হল পবিত্র পান্না খুঁজে বের করা এবং ভ্রমণকারী বিক্রয়কর্মীর কাছে ফিরিয়ে নেওয়া।

সফলতার ! আমাদের কোড কোনো ত্রুটি ছাড়াই বার্তাটি প্রিন্ট করে।

উদাহরণ দৃশ্য:অনুপস্থিত উদ্ধৃতি চিহ্ন

একটি স্ট্রিং এর বিষয়বস্তু ঘোষণা করার পরে স্ট্রিং বন্ধ করা আবশ্যক. অন্যথায়, পাইথন একটি সিনট্যাক্স ত্রুটি প্রদান করে। আসুন একটি স্ট্রিং দেখুন যা বন্ধ হয়নি:

def welcome_hero():message ="স্বাগতম, হিরো! print(message)welcome_hero()

আমাদের কোড রান করা যাক:

ফাইল "main.py", লাইন 2 বার্তা ="স্বাগত, হিরো! ^SyntaxError:EOL যখন আক্ষরিক স্ট্রিং স্ক্যান করছে

আমরা আমাদের স্ট্রিং বন্ধ করতে ভুলে গেছি। আপনি যদি কোডের লাইনটি দেখেন যেখানে আমরা "বার্তা" ভেরিয়েবল ঘোষণা করি, সেখানে কোন ক্লোজিং স্ট্রিং অক্ষর নেই।

আমরা একই ব্যবহার করে আমাদের স্ট্রিং বন্ধ করে এই ত্রুটিটি ঠিক করতে পারি উদ্ধৃতি চিহ্ন যা আমরা আমাদের স্ট্রিং খুলতে ব্যবহার করি।

def welcome_hero():বার্তা ="স্বাগতম, হিরো!" প্রিন্ট(মেসেজ)ওয়েলকাম_হিরো()

আবার আমাদের কোড রান করা যাক:

স্বাগত, হিরো!

আমাদের কোড সফলভাবে চলে৷

উদাহরণ দৃশ্য:অমিল উদ্ধৃতি চিহ্ন

একটি স্ট্রিং খোলার জন্য আপনি যে ধরনের উদ্ধৃতি ব্যবহার করেন আপনি একটি স্ট্রিং বন্ধ করতে যে ধরনের উদ্ধৃতি ব্যবহার করেন তার মতোই হওয়া উচিত।

একটি সিনট্যাক্স ত্রুটি ফিরে আসে যখন আপনি একটি স্ট্রিং খুলতে এবং বন্ধ করতে ব্যবহার করেন এমন উদ্ধৃতিগুলির ধরনগুলি ভিন্ন হয়৷ আসুন এমন একটি প্রোগ্রামের দিকে নজর দেওয়া যাক যা একটি একক উদ্ধৃতি চিহ্ন (') ব্যবহার করে একটি স্ট্রিং খোলে এবং একটি দ্বিগুণ উদ্ধৃতি চিহ্ন (") ব্যবহার করে একটি স্ট্রিং বন্ধ করে:

def welcome_hero():message ='Welcome, Hero!" print(message)welcome_hero()

আমাদের কোড ফিরে আসে:

ফাইল "main.py", লাইন 2 বার্তা ='স্বাগত, হিরো! 

আমরা আমাদের উদ্ধৃতিগুলি ম্যাচ করে এই সমস্যাটি সমাধান করতে পারি। ডাবল কোট ব্যবহার করতে আমরা আমাদের প্রথম উদ্ধৃতি চিহ্ন পরিবর্তন করতে যাচ্ছি (“):

def welcome_hero():বার্তা ="স্বাগতম, হিরো!" প্রিন্ট(মেসেজ)ওয়েলকাম_হিরো()

আমাদের কোড এখন সফলভাবে চলছে:স্বাগতম, হিরো!



উপসংহার

"সিনট্যাক্সেরর:EOL স্ট্রিং লিটারাল স্ক্যান করার সময়" ত্রুটি প্রতিটি পাইথন বিকাশকারীর দ্বারা অভিজ্ঞ হয়। এই ত্রুটিটি ঘটে যখন:

  • আপনি একটি স্ট্রিং বন্ধ করতে ভুলে গেছেন
  • আপনি ভুল চিহ্ন ব্যবহার করে একটি স্ট্রিং বন্ধ করেন
  • আপনি তিনটির পরিবর্তে একটি উদ্ধৃতি চিহ্ন ব্যবহার করে একটি বহু-লাইন স্ট্রিং ঘোষণা করেন

এই ত্রুটিটি সমাধান করতে, উপরের শর্তগুলির মধ্যে কোনটি সত্য কিনা তা পরীক্ষা করুন। তারপর, আপনার কোডে প্রয়োজনীয় পরিবর্তন করুন। এখন আপনি পাইথন বিশেষজ্ঞের মতো এই ত্রুটির সমাধান শুরু করতে প্রস্তুত!


  1. পাইথনে স্ট্রিং ঘোরান

  2. পাইথনে বিপরীত স্ট্রিং

  3. পাইথনে casefold() স্ট্রিং

  4. পাইথনে আক্ষরিক স্ট্রিং এর সামনে 'বি' অক্ষরটি কী করে?