একটি বাক্য দেওয়া আছে। এই বাক্যটি প্যাংগ্রাম কিনা তা যাচাই করতে হবে। প্যাংগ্রাম যাচাই করার লজিক হলো: বাক্য বা শব্দে কমপক্ষে একবার আলফাবেটের সব অক্ষর (a-z) থাকতে হবে। এই সমস্যা সমাধানের জন্য set() মেথড এবং লিস্ট কম্প্রিহেনশন টেকনিক ব্যবহার করা হয়েছে।
উদাহরণ
ইনপুট: string = 'abc def ghi jkl mno pqr stu vwx yz' আউটপুট: হ্যাঁ // 'a' থেকে 'z' পর্যন্ত সব ক্যারেক্টার আছে ইনপুট: str='python program' আউটপুট: না // 'a' থেকে 'z' পর্যন্ত সব ক্যারেক্টার নেই
অ্যালগরিদম
ধাপ ১: একটি স্ট্রিং বানান। ধাপ ২: পুরো বাক্যকে lower() মেথড দিয়ে ছোট হাতের অক্ষরে রূপান্তর করুন। ধাপ ৩: ইনপুট স্ট্রিংকে set() দিয়ে রূপান্তর করুন, যাতে বাক্যের সব অনন্য ক্যারেক্টার পাওয়া যায়। ধাপ ৪: ord() ফাংশন দিয়ে সব অ্যালফাবেট আলাদা করুন (ASCII ভ্যালু রিটার্ন করে)। ধাপ ৫: লিস্টের দৈর্ঘ্য ২৬ হলে সব ক্যারেক্টার উপস্থিত, বাক্যটি প্যাংগ্রাম, অন্যথায় নয়।
উদাহরণ কোড
def checkPangram(s):
lst = []
for i in range(26):
lst.append(False)
for c in s.lower():
if not c == " ":
lst[ord(c) - ord('a')] = True
for ch in lst:
if ch == False:
return False
return True
# ড্রাইভার প্রোগ্রাম
str1 = input("স্ট্রিং দিন ::>")
if (checkPangram(str1)):
print('"' + str1 + '"')
print("এটি একটি প্যাংগ্রাম")
else:
print('"' + str1 + '"')
print("এটি প্যাংগ্রাম নয়")
আউটপুট
স্ট্রিং দিন ::abc def ghi jkl mno pqr stu vwx yz "abc def ghi jkl mno pqr stu vwx yz" এটি একটি প্যাংগ্রাম স্ট্রিং দিন ::> python program "python program" এটি প্যাংগ্রাম নয়