एक सिंगिंग एंजेल प्रिंट करें


9

एक उत्सव थीम के साथ रखते हुए, सबसे कम संभव कोड के साथ एक कैरोल गायन परी प्रिंट करें। परी बेघर के लिए पैसा जुटा रही है, इसलिए अनुरोध पर उपलब्ध नीचे के सभी तीन गाने गाने में सक्षम होना चाहिए। यह समझाने के लिए कि वह उन्हें गा सकती है, गीत का शीर्षक भाषण के बुलबुले के भीतर रखा जाना चाहिए। यह गीत शीर्षक उपयोगकर्ता द्वारा इनपुट किया जाएगा। उदाहरणों में शामिल:

  • माँ मैरी
  • गीत की घंटी
  • खामोश रात

इनपुट:

शीर्षक: 3 गीतों में से 1।

आउटपुट:

                  ____________
(\   ___   /)    /            \
( \ (‘o‘) / )   /              \
(           )  <                              
 (  ‘> <’  )    \              /
    /    \       \____________/
   /      \  
  ‘ – “ - ‘

कृपया गाने के साथ अपनी गायन परी के परिणाम को पेस्ट करें: "साइलेंट नाइट"।

भाषण बुलबुला नियम:

भाषण बुलबुले में हमेशा 12 अंडरस्कोर लाइनों का एक फ्रेम होना चाहिए।

गीत का शीर्षक हमेशा दूसरी पंक्ति पर शुरू होना चाहिए।

गीत का शीर्षक हमेशा बुलबुले के अंदर 3 अंडरस्कोर रिक्त स्थान शुरू करना चाहिए।

                  123456789...
(\   ___   /)    /            \
( \ (‘o‘) / )   /    Song      \
(           )  <     Title                     
 (  ‘> <’  )    \              /
    /    \       \____________/
   /      \  
  ‘ – “ - ‘

नीचे दिए गए उदाहरण:

                  ____________
(\   ___   /)    /            \
( \ (‘o‘) / )   /    Mother    \
(           )  <     Mary                     
 (  ‘> <’  )    \              /
    /    \       \____________/
   /      \  
  ‘ – “ - ‘

                  ____________
(\   ___   /)    /            \
( \ (‘o‘) / )   /    Jingle    \
(           )  <     Bells                         
 (  ‘> <’  )    \              /
    /    \       \____________/
   /      \  
  ‘ – “ - ‘

                  ____________
(\   ___   /)    /            \
( \ (‘o‘) / )   /    Silent    \
(           )  <     Night                         
 (  ‘> <’  )    \              /
    /    \       \____________/
   /      \  
  ‘ – “ - ‘

1
1. आपकी परी की स्कर्ट में / और विषम हैं। क्या यह जानबूझकर है? 2. आउटपुट दिखाने का क्या उद्देश्य है, अगर यह प्रश्न के समान होना चाहिए?
लेवल रिवर सेंट

1
यदि आप सटीक होना चाहते हैं - 9 अक्षर लंबा, 2 शब्द, लेकिन विवरण में सूचीबद्ध तीन गीतों पर अधिक ध्यान दिया जाता है, अन्य गीत शीर्षक के विपरीत।
बेलफिल्ड

1
यह ASCII- कला नहीं है! `'-" ASCII- वर्ण नहीं हैं। इसके अलावा, आपके पास विभिन्न प्रकार के डैश क्यों हैं?
स्टिव ग्रिफ़िन

3
@StewieGriffin मैं शर्त लगाता हूँ कि यह "स्मार्ट कोट्स / डैश" सुविधा के साथ संपादक में पाठ को टाइप करने या चिपकाने का एक अनपेक्षित परिणाम था। OS X पर TextEdit इस बारे में पैथोलॉजिकल है। हम नियमित रूप से SO की तर्ज पर प्रश्न पूछते हैं, " puts “hello”काम क्यों नहीं करता?"
जॉर्डन

2
वास्तव में यह @Jordan है ....
Belfield

जवाबों:


1

PHP, 215 बाइट्स

<?=($p=str_pad)($p($s=" ".$t="   ",18),30,_),$p("
(\   ___$t/)$s/",31),$p("\
( \ (‘o‘) / )$t/$t$argv[1]",37),"\
($s$s$t)  <$s$argv[2]",$p("
 (  ‘> <’  )$s\\",36),$p("/
$s/$s\\$s$t\\",32,_),"/
$t/$t$t\
  ‘ – “ - ‘";

पहले दो कमांड लाइन तर्कों से शीर्षक लेता है।

विंडोज के लिए: पहली पंक्ति के बाद सभी पैड-लंबाई में 1 जोड़ दें, या लाइन टूटने से पहले बैकस्लैश डुप्लिकेट करें और सभी लाइन ब्रेक के साथ बदलें \n


3

जेएस (ईएस 6), 328 330 बाइट्स

a=(b,c)=>b.repeat(c);f=prompt().split(" ");if(f[1].length<5)f[1]+=" ";console.log(a(" ",18)+a("_",12)+`
(\\   ___   /)    /`+a(" ",12)+`\\
( \\ (‘o‘) / )   /    `+f[0]+`    \\
(`+a(" ",11)+`)  <     `+f[1]+a(" ",21)+`
 (  ‘> <’  )    \\`+a(" ",14)+`/
    /    \\       \\`+a("_",12)+`/
   /      \\  
  ‘ – “ - ‘`)
  • 1 हेल्पर फंक्शन (एक चारकोड छोटा होता है) और एक बार दोहराता है)
  • 1 चर के माध्यम से इनपुट प्राप्त prompt()करने और सरणी के लिए एक विभाजन करने के लिए
  • यकीनन वहां के विशेष मामलों का दुरुपयोग करता है लेकिन फिर भी वह काम करता है
  • मैंने मान लिया कि मध्य स्तंभ में अतिरिक्त 21 रिक्त स्थान की आवश्यकता थी

a=(b,c)=>b.repeat(c);f=prompt().split(" ");if(f[1].length<5)f[1]+=" ";console.log(a(" ",18)+a("_",12)+`
(\\   ___   /)    /`+a(" ",12)+`\\
( \\ (‘o‘) / )   /    `+f[0]+`    \\
(`+a(" ",11)+`)  <     `+f[1]+a(" ",21)+`
 (  ‘> <’  )    \\`+a(" ",14)+`/
    /    \\       \\`+a("_",12)+`/
   /      \\  
     - ‘`)


UTF8 एन्कोडिंग के साथ, यह 344 बाइट्स है, 328 नहीं। बाइट्स को गिनने के लिए आपने किस एन्कोडिंग का उपयोग किया?
smls

मुस्कुराहट सही है; यह 328 वर्ण है, लेकिन 344 बाइट्स है। आप केवल छुटकारा पाने String.fromCharCodeऔर करने से 14 बचा सकते हैं a=(b,c)=>b.repeat(c), फिर हर बार वास्तविक स्थान या अंडरस्कोर के साथ कॉल कर सकते हैं
ETHproductions

@ETHproductions, फिक्स्ड।
n4melyh4xor

@ n4melyh4xor क्या गीत के शीर्षक को पूर्व-विभाजित रूप में स्वीकार करना ठीक है, अर्थात कोड को एक लैम्ब्डा के रूप में लागू करने के लिए जो दो शब्दों के लिए दो अलग-अलग पैरामीटर लेता है? या क्या गीत के शीर्षक को एक स्ट्रिंग के रूप में आना है, और विभाजन को कोड के हिस्से के रूप में किया जाना चाहिए? (अजगर 3.6 समाधान पूर्व करता है, और यदि आप हरे रंग की रोशनी यह मैं इसे इस्तेमाल करेंगे मेरी पर्ल 6 समाधान भी छोटा करने के लिए ... :))
SMLS

@smls, मुझे लगता है कि इसे एक स्ट्रिंग के रूप में लिया जाना चाहिए और फिर आप जो चाहें कर सकते हैं।
n4melyh4xor

3

पायथन 3.5, 207 वर्ण, 226 बाइट्स

def f(s):a,b=s.split();u='_'*12;[print(' '*int(x)if x.isdigit()else x,end='')for x in"99"+u+"\n(\\3___3/)4/66\\\n( \\ (‘o‘) / )3/4"+a+"4\\\n(92)2<5"+b+"\n (2‘> <’2)4\\95/\n4/4\\7\\"+u+"/\n3/6\\\n2‘ – “ - ‘"]

आउटपुट:

                  ____________
(\   ___   /)    /            \
( \ (‘o‘) / )   /    Jingle    \
(           )  <     Bells
 (  ‘> <’  )    \              /
    /    \       \____________/
   /      \
  ‘ – “ - ‘

थोड़ा अपराजित:

def angel(s):
    a, b = s.split()
    u = '_' * 12;
    out = "99" + u + "\n"
    out += "(\\3___3/)4/66\\\n"
    out += "( \\ (‘o‘) / )3/4" + a + "4\\\n"
    out += "(92)2<5" + b + "\n"
    out += " (2‘> <’2)4\\95/\n"
    out += "4/4\\7\\" + u + "/\n"
    out += "3/6\\\n"
    out += "2‘ – “ - ‘"
    [print(' '*int(x) if x.isdigit() else x, end='') for x in out]

यह समान अंकों के साथ संख्यात्मक अंकों को बदलता है।


2

पायथन 3.6 - 286 241 224 बाइट्स

def x(L):X,Y=L.split();E,D=' '*11,'_'*12;print(f"""{' '*18}{D} 
(\   ___   /)    /{E} \\
( \ (‘o‘) / )   /    {X+' '*(10-len(X))}\\
({E})  <     {Y}
 (  ‘> <’  )    \{E}   /
    /    \       \{D}/
   /      \ 
  ‘ – “ - ‘""")
इनपुट:
x ("साइलेंट नाइट")
Output:    
                  ____________
(\   ___   /)    /            \
( \ (‘o‘) / )   /    Silent    \
(           )  <     Night
 (  ‘> <’  )    \              /
    /    \       \____________/
   /      \ 
  ‘ – “ - ‘

नोट - वह संस्करण है 3.6जहाँ स्ट्रिंग शाब्दिक स्वरूपण पेश किया गया था । इसलिए, यह पहले के संस्करणों में काम नहीं करेगा।


1

पर्ल 6 , 234 बाइट्स (218 अक्षर)

{"{' 'x 18}{'_'x 12}
(\\   ___   /)    /{' 'x 12}\\
( \\ (‘o‘) / )   /    {.words[0].fmt('%-9s')} \\
({' 'x 11})  <     {.words[1]}
(  ‘> <’  )    \\{' 'x 14}/
    /    \\       \\{'_'x 12}/
  /      \\
  ‘ – “ - ‘"}

एक लैम्ब्डा जो एक स्ट्रिंग के रूप में गाने के नाम को इनपुट करता है, और एक स्ट्रिंग के रूप में स्नो एंगल को आउटपुट करता है।

  • मानता है कि अनुगामी रिक्त स्थान की आवश्यकता नहीं है।
  • बाइट्स की गिनती UTF8 एन्कोडिंग के लिए है, क्योंकि पर्ल 6 स्रोत कोड की अपेक्षा करता है।

1

पायथन 2.6, 391 बाइट्स

def angel(a):
    X,Y=a.split()
    print("                  ____________")
    print"(\   ___   /)    /            \\"
    print"( \ (‘o‘) / )   /  ",  X,  "    \\"
    print"(           )  <   ", Y,        "  "
    print" (  ‘> <’  )    \              /"
    print"    /    \       \____________/"
    print("   /      \  ")
    print"  ‘ – 

परीक्षण का मामला:

angel("Silent Night")
                  ____________
(\   ___   /)    /            \
( \ (‘o‘) / )   /   Silent     \
(           )  <    Night   
 (  ‘> <’  )    \              /
    /    \       \____________/
   /      \  
  ‘ – “ - ‘

बाइट की गिनती क्या है? आप #titleइसके बजाय का उपयोग करना चाह सकते हैं**title*
टाइटस

थोड़ी देर (ठीक है, बहुत देर हो चुकी है) लेकिन आप बहुत सारे बाइट्स को बचाने के लिए इंडेंटेशन के लिए 1 स्थान का उपयोग कर सकते हैं, और आप p=printअपने प्रिंट को छोटा करने के लिए कह सकते हैं
स्टीफन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.