পটভূমি
পাইথন 3 এর অনেক ধরণের স্ট্রিং আক্ষরিক রয়েছে। উদাহরণস্বরূপ, স্ট্রিংটি this 'is' an exa\\m/ple
উপস্থাপন করা যেতে পারে:
'this \'is\' an exa\\\\m/ple'
"this 'is' an exa\\\\m/ple"
r"this 'is' an exa\\m/ple"
'''this 'is' an exa\\\\m/ple'''
"""this 'is' an exa\\\\m/ple"""
r'''this 'is' an exa\\m/ple'''
r"""this 'is' an exa\\m/ple"""
যেমন আপনি দেখতে পাচ্ছেন, স্ট্রিংয়ের জন্য বিভিন্ন সীমানার ব্যবহার করে নির্দিষ্ট অক্ষরের জন্য প্রয়োজনীয় এসিডিং পরিবর্তন করে স্ট্রিংগুলি লম্বা বা ছোট করা যায়। কিছু ডিলিমিটারগুলি সমস্ত স্ট্রিংয়ের জন্য ব্যবহার করা যায় না: r'
উপরে অনুপস্থিত (ব্যাখ্যা করার জন্য পরে দেখুন)। আপনার স্ট্রিংগুলি জানা কোড গল্ফের পক্ষে খুব কার্যকর।
একের মধ্যে একাধিক স্ট্রিং লিটারেলও একত্রিত করতে পারে:
'this \'is\' an ''''exa\\\\m/ple'''
"this 'is' an "r'exa\\m/ple'
চ্যালেঞ্জ
পাইথনের সংক্ষিপ্ততম আক্ষরিক উপস্থাপনা আউটপুট দেওয়ার জন্য একটি মুদ্রণযোগ্য এএসসিআইআই স্ট্রিং দেওয়া চ্যালেঞ্জটি ।
স্ট্রিং মেকানিকের উপর বিশদ
স্ট্রিং ব্যবহার সীমায়িত করা যেতে পারে '
, "
, '''
এবং """
। একটি স্ট্রিং শেষ হয় যখন প্রারম্ভিক ডিলিমিটারটি আবার আনসকেপড হিট হয়।
যদি একটি স্ট্রিং আক্ষরিক শুরু হয় '''
বা """
এটি ডিলিমিটার হিসাবে গ্রাস করা হয়। অন্যথায় '
বা "
ব্যবহৃত হয়।
চরিত্রগুলি \
তাদের সামনে রেখে কিছুটা রক্ষা পাওয়া যায় । এটি স্ট্রিংয়ের মধ্যে অক্ষরটি সন্নিবেশ করায় এবং এর কোনও বিশেষ অর্থ মুছতে পারে। উদাহরণস্বরূপ, 'a \' b'
মাঝখানে '
পালিয়ে গেছে এবং এভাবে আক্ষরিক শেষ হয় না, এবং ফলাফলটি স্ট্রিং হয়a ' b
।
Allyচ্ছিকভাবে, একটি r
বা R
প্রারম্ভিক ডিলিমিটারের আগে beোকানো যেতে পারে। এটি করা হয়ে গেলে, পালানোর \
ফলাফলটি প্রদর্শিত হবে। উদাহরণস্বরূপ, r'a \' b'
মূল্যায়ন a \' b
। এ কারণেই a ' b
সীমিত করা যায় নাr'
।
পালাতে '''
বা"""
, কেবল একটি চরিত্রের পালাতে হবে।
এই আক্ষরিকগুলি একত্রে একত্রিত করা যায়, যা তাদের বিষয়বস্তুগুলিকে একত্র করে।
বিধি
- ইনপুটটি গল্ফের স্ট্রিং। কেবল প্রিন্টযোগ্য এএসসিআইআই, তাই কোনও নতুন লাইন বা অন্যান্য বিশেষ অক্ষর নেই।
- আউটপুটটি গল্ফড স্ট্রিং আক্ষরিক। যদি একাধিক সমাধান থাকে তবে একটি আউটপুট।
- চ্যালেঞ্জ, অ- মধ্যে প্রক্রিয়া সহজ করার জন্য
r
ছাড়া কোনো বেরিয়ে স্ট্রিং\\
,\'
এবং\"
অবৈধ বিবেচনা করা হয়। পাইথনের'\m'
সমান হলেও এগুলি আউটপুট ব্যবহার করা উচিত নয়'\\m'
। এটি বিশেষ এস্কেপ কোডগুলি যেমন প্রক্রিয়া করার প্রয়োজনকে সরিয়ে দেয়\n
। - পাইথনের স্ট্রিংগুলিতে গল্ফিংয়ের জন্য বিল্টিনগুলি অনুমোদিত নয়। পাইথন এর
repr
অনুমতি রয়েছে, যেহেতু এটি কোনওভাবেই কৃপণ। - স্ট্যান্ডার্ড কোড-গল্ফ বিধি প্রযোজ্য।
উদাহরণ ইনপুট / আউটপুট
আমি এগুলি যাচাই করার জন্য যথাসাধ্য চেষ্টা করেছি, তবে ভুল আছে কিনা তা আমাকে জানান। যদি মামলায় একাধিক বৈধ আউটপুট থাকে তবে সেগুলি সমস্ত ইনপুটের নীচে তালিকাভুক্ত।
test
-> 'test'
-> "test"
te\st
-> 'te\\st'
-> "te\\st"
-> r'te\st'
-> r"te\st"
te'st
-> "te'st"
te"st
-> 'te"st'
t"e"s't
-> 't"e"s\'t'
te\'st
-> "te\\'st"
-> r'te\'st'
-> r"te\'st"
te\'\"st
-> r'te\'\"st'
-> r"te\'\"st"
t"'e"'s"'t"'s"'t"'r"'i"'n"'g
-> """t"'e"'s"'t"'s"'t"'r"'i"'n"'g"""
-> '''t"'e"'s"'t"'s"'t"'r"'i"'n"'g'''
t"\e"\s"\t"\s'\t"\r"\i"\n"\g
-> r"""t"\e"\s"\t"\s'\t"\r"\i"\n"\g"""
-> r'''t"\e"\s"\t"\s'\t"\r"\i"\n"\g'''
t"""e"""s"""'''t'''s'''"""t"""r"""'''i'''n'''g
-> 't"""e"""s"""'"'''t'''s'''"'"""t"""r"""'"'''i'''n'''g"
t\"""e\"""s\"""'''t'''s'''\"""t\"""r\"""'''i'''n'''g
-> r"""t\"""e\"""s\"""'''t'''s'''\"""t\"""r\"""'''i'''n'''g"""
t"e"s"t"s"t"r"i"n"g"\'\'\'\'\'\'\'\
-> r't"e"s"t"s"t"r"i"n"g"\'\'\'\'\'\'\'''\\'
-> r't"e"s"t"s"t"r"i"n"g"\'\'\'\'\'\'\''"\\"
"""t"'e"'s"'t"'s"'t"'r"'i"'n"'g'''
-> """\"""t"'e"'s"'t"'s"'t"'r"'i"'n"'g'''"""
-> '''"""t"'e"'s"'t"'s"'t"'r"'i"'n"'g''\''''
এই অতিরিক্ত মামলার জন্য অ্যান্ডারস কাসের্গকে ধন্যবাদ :
\\'"\\'\
-> "\\\\'\"\\\\'\\"
''"""''"""''
-> '''''"""''"""'\''''
u'
এবং b'
?
b
না এবং এমনকি নিয়মিত স্ট্রিংগুলির সাথে একত্রিতও করা যায় না, তাই আমি কেবল তাদের ছেড়ে চলে এসেছি।
"
বা'
->"""t"'e"'s"'t"'s"'t"'r"'i"'n"'g'''