মান লেন, আমাদের কাছে একটি স্ট্রিং আছে যা একটি আইডেন্টিফায়ার রিপ্রেজেন্ট করে। আমাদের যাচাই করতে হবে এটি বৈধ কিনা। বৈধতা নির্ণয়ের জন্য কিছু মাপদণ্ড আছে:
- এটি আন্ডারস্কোর '_' বা যেকোনো বড়/ছোট হাতের অক্ষর দিয়ে শুরু হতে হবে।
- এতে কোনো হোয়াইটস্পেইস থাকতে পারবে না।
- প্রথম ক্যারেক্টার ছাড়া বাকি সব ক্যারেক্টারে কোনো স্পেশাল ক্যারেক্টার ($, #, % ইত্যাদি) থাকতে পারবে না।
যদি এই তিনটি শর্তই মান্য হয় তবেই স্ট্রিংটি বৈধ আইডেন্টিফায়ার।
যেমন, ইনপুট হলে id = "_hello_56", তবে আউটপুট হবে True।
এটি সমাধান করতে আমরা নিচের ধাপগুলো অনুসরণ করব:
- যদি s-এর প্রথম ক্যারেক্টার অ্যালফাবেটিক নয় এবং আন্ডারস্কোর নয়, তবে False রিটার্ন করুন।
- s[1:] থেকে শেষ পর্যন্ত প্রতিটি ক্যারেক্টার ch-এর জন্য:
- যদি ch অ্যালফানিউমেরিক নয় এবং আন্ডারস্কোর নয়, তবে False রিটার্ন করুন।
- True রিটার্ন করুন।
উদাহরণ কোড
def solve(s):
if not s[0].isalpha() and s[0] != '_':
return False
for ch in s[1:]:
if not ch.isalnum() and ch != '_':
return False
return True
id = "_hello_56"
print(solve(id))
ইনপুট
"_hello_56"
আউটপুট
True