जब पायथन में कोडिंग होती है, तो कभी-कभी आप एक फ़ंक्शन के भीतर एक बहुस्तरीय स्ट्रिंग चाहते हैं, जैसे
def f():
s = """\
Line 1
Line 2
Line 3"""
(बैकलैश एक अग्रणी नई पंक्ति को हटाने के लिए है)
यदि आप वास्तव में प्रिंट आउट लेने की कोशिश करते हैं s
, तो आप प्राप्त करेंगे
Line 1
Line 2
Line 3
यही हम नहीं चाहते हैं! बहुत अधिक प्रमुख व्हाट्सएप है!
चुनौती
एक बहुस्तरीय स्ट्रिंग को देखते हुए, जिसमें केवल अल्फ़ान्यूमेरिक वर्ण, स्थान और न्यूलाइन्स होते हैं, प्रत्येक पंक्ति की शुरुआत से सभी सामान्य स्थानों को हटा देते हैं। प्रत्येक पंक्ति में कम से कम एक गैर-स्थान वर्ण होने की गारंटी है, और इसमें कोई अनुगामी स्थान नहीं होगा। आउटपुट में एक्स्ट्रसस व्हाट्सएप नहीं हो सकता है, चाहे वह पूरे आउटपुट से पहले या बाद में हो या एक व्यक्तिगत लाइन (सिंगल वैकल्पिक ट्रेलिंग न्यूलाइन के अपवाद के साथ)।
इनपुट STDIN या फ़ंक्शन तर्क के माध्यम से हो सकता है, और आउटपुट STDOUT या फ़ंक्शन रिटर्न मान के माध्यम से हो सकता है। आप किसी भी बिलिन का उपयोग नहीं कर सकते हैं जो बहु-तार तार के लिए डिज़ाइन किए गए हैं या यह सटीक कार्य करते हैं, जैसे कि पायथन textwrap.dedent
।
यह कोड-गोल्फ है , इसलिए सबसे कम बाइट्स में समाधान जीतता है। मानक खामियां लागू होती हैं।
परीक्षण के मामलों
"a" -> "a"
" abc" -> "abc"
" abc\n def\n ghi" -> " abc\ndef\n ghi"
" a\n b\n c" -> "a\nb\nc"
" a\n b\n c\nd" -> " a\n b\n c\nd"
" a b\n c d\n e f" -> "a b\n c d\n e f"
उदाहरण के लिए, अंतिम परीक्षण मामला है
a b
c d
e f
और प्रमुख स्थानों को अलग करने के बाद इस तरह दिखना चाहिए:
a b
c d
e f