আপনি কি স্নোম্যানকে কোড করতে চান?


176

এখানে একটি সাধারণ ASCII আর্ট স্নোম্যান রয়েছে:

_===_
(.,.)
( : )
( : )

আসুন ওকে কিছু বন্ধু বানাও। এটি আমাদের এএসসিআইআই আর্ট স্নোপোপলের জন্য সাধারণ প্যাটার্ন হবে:

 HHHHH
 HHHHH
X(LNR)Y
X(TTT)Y
 (BBB)

নেতৃস্থানীয় স্পেস এবং প্রথম বন্ধনী সব বরফের জন্য সর্বদা একই থাকে। বিভিন্ন অক্ষর স্বতন্ত্রভাবে পরিবর্তিত হতে পারে এমন প্যাটার্নের অংশগুলি উপস্থাপন করে। প্রতিটি বিভাগে ASCII অক্ষরগুলি কী পূরণ করতে পারে তার ঠিক চারটি প্রিসেট রয়েছে। এই আটটি বিভাগের জন্য এই প্রিসেটগুলি মিশ্রিত করে এবং মিশিয়ে আমরা বিভিন্ন ধরণের স্নোপোপেল তৈরি করতে পারি।

সমস্ত প্রিসেট

(লক্ষ্য করুন যে ফাঁকা স্থান অন্যথায় খালি লাইনগুলিতে রাখা হয়েছে যাতে বিভাগের আকৃতি সর্বদা সঠিক থাকে))

এইচ হ্যাট জন্য

  1. খড় টুপি

         
    _===_
  2. মেক্সিকান হাট

     ___ 
    .....
    
  3. ফেজটুপি

      _  
     /_\ 
    
  4. রাশিয়ান হাট

     ___ 
    (_*_)
    

এন নাক / মুখের জন্য

  1. সাধারণ ,

  2. ডট .

  3. লাইন _

  4. না

বাম চোখের জন্য এল

  1. ডট .

  2. বড় ডট o

  3. সবচেয়ে বড় ডট O

  4. বন্ধ -

আর ডান চোখের জন্য

(বাম চোখ হিসাবে একই তালিকা।)

এক্স বাম বাহু জন্য

  1. সাধারণ বাহু

     
    <
  2. উপরের দিকে আর্ম

    \
     
  3. নিচের দিকে আর্ম

     
    /
  4. না

     
     

Y রাইট আর্মের জন্য

  1. সাধারণ বাহু

     
    >
  2. উপরের দিকে আর্ম

    /
     
  3. নিচের দিকে আর্ম

     
    \
  4. না

     
     

টি টোরসোর পক্ষে

  1. বোতাম :

  2. ন্যস্ত করা ] [

  3. ইনওয়ার্ড আর্মস > <

  4. না

বি বেসের জন্য

  1. বোতাম :

  2. পা দুটো " "

  3. সমান ___

  4. না

চ্যালেঞ্জ

বিন্যাসে আটটি চরিত্রের স্ট্রিং (স্টিডিন বা কমান্ড লাইনের মাধ্যমে) নিয়ে যাওয়া এমন একটি প্রোগ্রাম লিখুন HNLRXYTBযেখানে প্রতিটি অক্ষর 1 থেকে 4 পর্যন্ত একটি অঙ্ক থাকে যা স্নোপার্সনের সংশ্লিষ্ট বিভাগের জন্য প্রিসেটটি ব্যবহার করে তা বোঝায়। স্টডআউটে সম্পূর্ণ স্নোপার্সন মুদ্রণ করুন।

উদাহরণস্বরূপ, ইনপুটটি 11114411পৃষ্ঠার শীর্ষে স্নোম্যান। (প্রথম 1: তার খড়ের টুপি রয়েছে, দ্বিতীয় 1: তার একটি নাক ইত্যাদি রয়েছে)

আর একটি উদাহরণ, ইনপুট জন্য স্নোপার্সন 33232124:

   _
  /_\
\(o_O)
 (] [)>
 (   )

বিস্তারিত

  • নেতৃস্থানীয় / পিছনে স্থান এবং নেতৃস্থানীয় / পিছনে নতুন লাইনের যে কোনও পরিমাণ এবং সংমিশ্রণগুলি যতদিন অনুমোদিত ...

    • স্নোপার্সনের তাদের সমস্ত বিভাগ একে অপরের প্রতি শ্রদ্ধার সাথে সঠিকভাবে সাজানো আছে এবং
    • মোট ites৪ টিরও বেশি সাদা সাদা অক্ষর নেই (সাধারণ প্যাটার্নটি কেবলমাত্র 7 × 5, সুতরাং আপনি সম্ভবত এই সীমাটি আঘাত করবেন না)।

    প্যাটার্নের সারি / কলামগুলি মুদ্রণ করার দরকার নেই যদি সেগুলিতে কেবল সাদা স্থান থাকে। যেমন খড়ের টুপি খালি লাইন প্রয়োজন হয় না।

  • উপরের অংশগুলির ক্রম হিসাবে আপনাকে অবশ্যই ক্রম ব্যবহার করতে হবে।

  • কোনও প্রোগ্রামের পরিবর্তে আপনি এমন একটি ফাংশন লিখতে পারেন যা ডিজিট স্ট্রিংকে একটি আর্গুমেন্ট হিসাবে গ্রহণ করে। আউটপুটটি সাধারণত মুদ্রিত হওয়া উচিত বা স্ট্রিং হিসাবে ফিরে আসতে হবে।

  • পছন্দ হলে আপনি স্ট্রিংয়ের পরিবর্তে ইনপুটটিকে পূর্ণসংখ্যা হিসাবে বিবেচনা করতে পারেন।

স্কোরিং

বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী।

বোনাস প্রশ্ন: 65536 স্বতন্ত্র তুষারপাতের মধ্যে কোনটি আপনার প্রিয়?


19
আমি দেবদূত 14441133 পছন্দ করি । বিকল্পভাবে ছোট চোখের চার সজ্জিত দানব। আপনার বাছাই
Sp3000

14
এটি একটি তুষারমানব হতে হবে?

54
এটি একটি তুষারমানব হতে হবে না। (অস্বীকৃতি: এটি কোনও তুষারমানব হতে পারে)
জোশপবারন

3
মাঝেমধ্যে মজার মন্তব্যটি দুর্দান্ত তবে বর্ধিত আলোচনার জন্য দয়া করে মন্তব্যের পরিবর্তে চ্যাটটি ব্যবহার করুন । আমি এটিকে কিছুটা সাফ করে দিয়েছি।
মার্টিন এন্ডার

36
পরবর্তী কাজ করার প্রশ্ন: "কোডটি যাইহোক আমাকে কখনই বিরক্ত করে না"
ক্যালভিনের

উত্তর:


39

সিজেম, 135 134 132 130 126 125 বাইট

0000000: 4e22285b200a5c225f2a295c2d2e2f6f2c3e4f3a3c3d5d225f  N"([ .\"_*)\-./o,>O:<=]"_
0000019: 2422dd7382d6bfab28707190992f240c362ee510262bd07a77  $".s....(pq../$.6...&+.zw
0000032: 08556de9dcdb566c676817c2b87f5ecb8bab145dc2f2f76e07  .Um...Vlgh....^....]...n.
000004b: 22323536624b623224663d4e2f7b5f2c342f2f7d25723a7e2e  "256bKb2$f=N/{_,4//}%r:~.
0000064: 3d2828342423346222205f0a20222e2a6f6f736572372f4e2a  =((4$#4b" _. ".*ooser7/N*

আপনার মেশিনে ফাইলটি তৈরি করতে xxd -r > snowman.cjam, উপরের থেকে বিপরীতমুখী হেক্সডাম্প চালনা করুন , আটকান, টিপুন Enterএবং শেষ পর্যন্ত Ctrl+ চাপুন D

বিকল্পভাবে, আপনি সিজেএম ইন্টারপ্রেটার ব্যবহার করে অনলাইনে কোডটি চেষ্টা করতে পারেন ।

বোনাস

আমার প্রিয় স্নোম্যান হলেন ওলাফ:

$ LANG=en_US cjam snowman.cjam <<< 12222212

 _===_
\(o.o)/
 ( : ) 
 (" ")

শীতকাল থাকার জন্য ভাল সময় এবং cudling, কিন্তু গ্রীষ্মে আমাকে রাখুন এবং আমি একটি ... সুখী তুষারমানুষ হতে হবে!

ধারণা

হেক্স স্ট্রিং

dd7382d6bfab28707190992f240c362ee510262bd07a7708
556de9dcdb566c676817c2b87f5ecb8bab145dc2f2f76e07

স্নোম্যানের সমস্ত অংশের জন্য নির্দিষ্ট পছন্দগুলি সহ সম্ভাব্য পছন্দগুলি এনকোড করে। আসুন এই স্ট্রিং পি

এটি ডিকোড করার জন্য, আমরা পি (এখানে পূর্ণসংখ্যার অ্যারের হিসাবে বিবেচিত) বেস 256 থেকে বেস 20 তে রূপান্তর করি এবং ফলাফলের প্রতিটি পূর্ণসংখ্যাকে স্ট্রিং এম এর সাথে সম্পর্কিত অক্ষর দ্বারা প্রতিস্থাপন করি :

([ 
"_*)\-./o,>O:<=]

স্ট্রিং টিতে এর ফলাফল :

/(_*_)"_===_/....., /_\ 
 ,._
-.oO
-.oO
   <\  /
   >/  \
    : ] [> <
    : " "___
 ((()

প্রথম লাইনটি সমস্ত টুপি পছন্দগুলি শেষ করে দেয়, সর্বশেষের স্থির অংশগুলি। অন্যান্য রেখায় শরীরের 28 পরিবর্তনশীল অংশ রয়েছে।

আমরা লাইনফিডে টি বিভক্ত করি এবং ফলস্বরূপ অ্যারের স্ট্রিংগুলি সমান দৈর্ঘ্যের চার ভাগে ভাগ করি। তারপরে, আমরা এসটিডিআইএন থেকে ইনপুটটি পড়ি, এর অঙ্কগুলির অ্যারেটিকে বেস 10 তে চাপি এবং বিভক্ত স্ট্রিংগুলির সংশ্লিষ্ট উপাদানগুলি নির্বাচন করি। আমরা সিজেমে প্রায় অ্যারে গুটিয়ে ফেলি এই সুবিধাটি গ্রহণ করি, সুতরাং 4 দৈর্ঘ্যের অ্যারের সূচক 4 এ উপাদানটি আসলে প্রথম উপাদান। শেষ বিভাজিত স্ট্রিংটি কোনও ইনপুটের সাথে মিলে না, সুতরাং এটি পুরোপুরি নির্বাচিত হবে।

আমরা ফলাফলটি অ্যারে থেকে প্রথম উপাদানটি সরিয়ে হ্যাটটি পরিচালনা করি। এম ইনডেক্সপ্রথম অক্ষরের এর , বেস 4 নম্বর হিসাবে পড়া, টুপিটির প্রথম লাইনে স্পেস এবং আন্ডারস্কোর সংখ্যা প্রকাশ করে। আমরা এই অক্ষরগুলি, একটি লাইনফিড, একটি স্থান এবং স্থানান্তরিত স্ট্রিংয়ের বাকী অংশ মুদ্রণ করি। তারপরে, আমরা স্ট্যাকের নীচে একটি অতিরিক্ত লাইনফিডটি চাপি।

দেহের অঙ্গগুলির জন্য, আমরা স্ট্রিংগুলি সমস্তটির সাথে মিলিত করে তুলি। এই স্ট্রিং এস কল করা যাক । শরীরের অংশগুলি একত্রিত করার জন্য, আমরা লিখিতভাবে সম্পাদন করি: আমরা এম স্ট্রিংয়ের প্রতিটি চরিত্র গ্রহণ করি , এর সূচকটি সাজান (এম) তে গণনা করি এবং এস এর সাথে সম্পর্কিত অক্ষর দ্বারা প্রতিস্থাপন করি । আমরা সত্য যে লিপ্যন্তর অপারেটর স্বয়ংক্রিয়ভাবে প্যাড সদ্ব্যবহার S দৈর্ঘ্য মেলে সাজানোর (এম) নামের শেষ অক্ষরটি পুনরাবৃত্তি দ্বারা এস যতবার প্রয়োজনীয়।

পরিশেষে, আমরা ফলাফলের স্ট্রিংটি 7 দৈর্ঘ্যের সাবস্ট্রিংগুলিতে বিভক্ত করি এবং প্রতিটি জোড় সাবস্ট্রিংয়ের মধ্যে একটি লাইনফিড রাখি।

কোড

ধরুন যে ভেরিয়েবলগুলি Mএবং এম এবং পিP স্ট্রিংগুলি রয়েছে ।

N        e# Push a linefeed.
M_$      e# Push M and a sorted copy.
P256bKb  e# Push P and convert it from base 256 to base 20.
2$       e# Push a copy of M.
f=       e# Compute T by retrieving the proper chars from M.
N/       e# Split T at linefeeds.
{_,4//}% e# Divide each string into four substrings of equal length.
r:~      e# Read a number from STDIN and push the array of its digits in base 10.
.=       e# Get the corresponding chunks from T.
((       e# Shift out the first string and that string's first character.
4$#      e# Find its index in M.
4b       e# Compute its digits in base 4.
" _
 ".*     e# Repeat the space and underscore that many times in place.
oo       e# Print the result and the shifted string.
s        e# Flatten the remainder of the array. This pushes S.
er       e# Perform transliteration.
7/       e# Split into chunks of length 7.
N*       e# Join using linefeeds.

60

জাভাস্ক্রিপ্ট ES6, 210 208 202 বাইট

s=>` 0
8(213)9
4(6)5
 (7)`.replace(/\d/g,p=>`_===_1 ___
 .....1  _
  /_\\1 ___
 (_*_)1,1.1_11.1o101-1.1o101-1<11/11>11\\11 : 1] [1> <1   1 : 1" "1___1   11\\11 11/11 `.split(1)[s[p>7?p-4:p]-1+p*4]||' ')

এটি একটি বেনামে ফাংশন; আপনি নির্বাহ করে এটি ব্যবহার ([function code])('42232124')। এর মধ্যে সবচেয়ে উত্তেজনাপূর্ণ অংশটি ছিল অস্ত্রগুলি, যা 2 টি লাইন নিয়েছে, তাই আমাকে উপরে এবং নীচের উভয়টির জন্য কোড অন্তর্ভুক্ত করতে হয়েছিল।

নীচের স্ট্যাক স্নিপেটটি রহিত, আন-ইএস 6-আইফাইড, মন্তব্য কোড করেছে। এবং আপনি সহজেই কোডটি পরীক্ষা করতে এবং বিভিন্ন সংমিশ্রণ চেষ্টা করে দেখতে এটি ব্যবহার করতে পারেন। সম্পাদনা: আমি এটি দিয়ে অনেক বেশি মজা করছি having আমি এলোমেলো তুষারমানুষ তৈরির উপায় সহ বেশ কয়েকটি নতুন বৈশিষ্ট্য যুক্ত করেছি।

ছয়টি বাইট সংরক্ষণের জন্য ইয়ায়ার র্যান্ডকে ধন্যবাদ।

var f=function(s){
  return' 0\n8(213)9\n4(6)5\n (7)' // Start with a placeholder string with all the static components
    .replace(/\d/g,function(p){ // Go through each placeholder number to replace it with its value
    // The massive string below holds all the possible body parts, separated by 1 for easy splitting.
    // The two at the end are for the top of the arms
    return'_===_1 ___\n .....1  _\n  /_\\1 ___\n (_*_)1,1.1_11.1o101-1.1o101\
-1<11/11>11\\11 : 1] [1> <1   1 : 1" "1___1   11\\11 11/11 '.split(1)
    [s[p>7?p-4:p]-1 // Get the value from the input string. If the current body part
                    // is the top of the two-line arms (8 or 9), drop it down to 4 or 5
                    // Subtract 1 to account for the 0-indexed array.
     +p*4] // multiply by 4 to skip to the relevant code
     ||' ' // To save bytes in the above string, spaces are empty strings, so replace them here
  })
}

// Code for the interactive version follows
// http://codepen.io/hsl/pen/bdEgej
function updateRadios(){$('input[type="radio"]').each(function(){if($(this).is(":checked")){var t=$(this).data("p"),i=$(this).data("v");input[t]=i}}),inputS=input.join(""),update()}var input=[],inputS=$("#code").val(),update=function(){$("#p").text(f(inputS)),$("#code").val(inputS)};$('input[type="radio"]').change(updateRadios),$("#code").keyup(function(){inputS=$(this).val(),update()}),updateRadios(),$("#random").click(function(){for(var t=0;8>t;t++)$("div:eq("+t+") input:eq("+Math.floor(4*Math.random())+")").prop("checked",!0);updateRadios()});
body{font-family:sans-serif}h2{font-size:18px;font-weight:400}label{display:block}div{display:inline-block;margin:0 10px}#code{width:70px}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><div><h2>Hat</h2><label><input type="radio" name="p1" data-p="1" data-v="1"> Straw hat</label><label><input type="radio" name="p1" data-p="1" data-v="2"> Mexican hat</label><label><input type="radio" name="p1" data-p="1" data-v="3"> Fez</label><label><input type="radio" name="p1" data-p="1" data-v="4" checked> Russian hat</label></div><div><h2>Nose/mouth</h2><label><input type="radio" name="p2" data-p="2" data-v="1"> Normal</label><label><input type="radio" name="p2" data-p="2" data-v="2" checked> Dot</label><label><input type="radio" name="p2" data-p="2" data-v="3"> Line</label><label><input type="radio" name="p2" data-p="2" data-v="4"> None</label></div><div><h2>Left eye</h2><label><input type="radio" name="p3" data-p="3" data-v="1"> Dot</label><label><input type="radio" name="p3" data-p="3" data-v="2" checked> Bigger dot</label><label><input type="radio" name="p3" data-p="3" data-v="3"> Biggest dot</label><label><input type="radio" name="p3" data-p="3" data-v="4"> Closed</label></div><div><h2>Right eye</h2><label><input type="radio" name="p4" data-p="4" data-v="1"> Dot</label><label><input type="radio" name="p4" data-p="4" data-v="2"> Bigger dot</label><label><input type="radio" name="p4" data-p="4" data-v="3" checked> Biggest dot</label><label><input type="radio" name="p4" data-p="4" data-v="4"> Closed</label></div><div><h2>Left arm</h2><label><input type="radio" name="p5" data-p="5" data-v="1"> Normal</label><label><input type="radio" name="p5" data-p="5" data-v="2" checked> Upwards</label><label><input type="radio" name="p5" data-p="5" data-v="3"> Downwards</label><label><input type="radio" name="p5" data-p="5" data-v="4"> None</label></div><div><h2>Right arm</h2><label><input type="radio" name="p6" data-p="6" data-v="1" checked> Normal</label><label><input type="radio" name="p6" data-p="6" data-v="2"> Upwards</label><label><input type="radio" name="p6" data-p="6" data-v="3"> Downwards</label><label><input type="radio" name="p6" data-p="6" data-v="4"> None</label></div><div><h2>Torso</h2><label><input type="radio" name="p7" data-p="7" data-v="1"> Buttons</label><label><input type="radio" name="p7" data-p="7" data-v="2" checked> Vest</label><label><input type="radio" name="p7" data-p="7" data-v="3"> Inward arms</label><label><input type="radio" name="p7" data-p="7" data-v="4"> None</label></div><div><h2>Base</h2><label><input type="radio" name="p8" data-p="8" data-v="1"> Buttons</label><label><input type="radio" name="p8" data-p="8" data-v="2"> Feet</label><label><input type="radio" name="p8" data-p="8" data-v="3"> Flat</label><label><input type="radio" name="p8" data-p="8" data-v="4" checked> None</label></div><br><button id="random">Randomize</button><pre id="p"></pre><input type="text" id="code">


3
+1 খুব চালাক, আমার থেকে অনেক বেশি ভাল
edc65

23
'জিইউআই' বেশ সুন্দর।
শীর্ষে

7
22112333: মিষ্টি, 8 নেত্রবিশিষ্ট মাকড়সা তুষারমানব খুঁজে বার করো
Claudiu

1
আমি ঘুমন্ত রাশিয়ান পেঁচা পছন্দ করি: 41444442
ETH প্রোডাকশনগুলি

1
আপনি স্লট ( 1 1-> 11) এর প্রতিটি একক স্থান সরিয়ে এবং ||' 'শেষে যুক্ত করে ছয়টি বাইট সংরক্ষণ করতে পারেন ।
ইয়ায়ার র‌্যান্ড

30

সিজেম, 164 বাইট

বাম থেকে ডান, উপর থেকে নীচে তুষারমানব উত্পন্ন করে। এটি কোনও ধরণের স্ট্রিংয়ে যোগদান বা পুনরায় অবস্থানের অপারেশনগুলির প্রয়োজনীয়তা হ্রাস করে, কারণ আমি স্নোম্যানের প্রতিটি অংশকে স্ট্যাকের উপরে রেখেছি। এবং তারপরে, প্রোগ্রামগুলির শেষে স্বয়ংক্রিয় স্ট্যাক ডাম্পের কারণে:

সিজেএম তুষারমানুষ তৈরি করতে চায়!

q:Q;SS"
 _===_,___
 ....., _
  /_\,___
 (_*_)"',/0{Q=~(=}:G~N" \ "4G'(".oO-"_2G",._ "1G@3G')" / "5GN"< / "4G'(" : ] [> <   "3/6G')"> \ "5GNS'(" : \" \"___   "3/7G')

এটি অনলাইনে চেষ্টা করুন।

বোনাস

বক্সের বাইরে চিন্তা! 32443333একটি বরফ দেয় (ওও) পুরুষ কনে। এটি দেখতে আপনার কিছুটা চেষ্টা করতে হবে তবে অভ্যন্তরীণ বাহুগুলি আছে, ফেজ + নীচের দিকে বাহুগুলি = ওড়না এবং মাথাটি আসলে ফেজে / ওড়নাতে রয়েছে। সাধারণত বড় আকারটি হ'ল বিলি পোশাক, এবং "চোখ" এবং "নাক" পোশাকে ভাঁজ হয়।

   _
  /_\
 (-.-) 
/(> <)\
 (___)

অন্যান্য "চোখ" পছন্দগুলি কিছুটা ঝুঁকিপূর্ণ ...


17
আমার কাছে, আপনার বোনাসটি কনের চেয়ে কেকেকে সদস্যের চেয়ে বেশি দেখাচ্ছে।
#HongKongInd dependence

26

পাইথন, 276 289 বাইট

V='.oO-'
def F(d):
 D=lambda i:int(d[i])-1
 print"  "+("","___"," _ ","___")[D(0)]+"\n "+\
"_. (=./_=._*=.\\__. )"[D(0)::4]+"\n"+\
" \\  "[D(4)]+"("+V[D(2)]+',._ '[D(1)]+V[D(3)]+")"+" /  "[D(5)]+'\n'+\
"< / "[D(4)]+"("+" ]> :    [< "[D(6)::4]+")"+"> \\ "[D(5)]+"\n ("+\
' "_ : _  "_ '[D(7)::4]+")"

এই কোডটিতে 8 টি অতিরিক্ত বাইট ( \* 4) পঠনযোগ্যতার জন্য রয়েছে।

তুষারমানকে কিছুটা উপরে আপ করে তোলে।

বোনাস

F("44444432") "নিদ্রাহীন রাশিয়ান ভাল্লুক" দেয়:

  ___    
 (_*_)
 (- -)
 (> <)
 (" ")

13
নিদ্রাহীন রাশিয়ান ভাল্লুক এখন আমার খুব প্রিয়।
ক্যালভিনের

1
উপরের সারির আন্ডারস্কোরগুলি ফেজ এবং রাশিয়ান টুপিগুলিতে সঠিক বলে মনে হচ্ছে না। উদাহরণস্বরূপ এটি একটি প্রোপেলর টুপি দিচ্ছে ..
ক্যালভিনের

@ ক্যালভিনের শখগুলি: রাশিয়ান টুপি ঠিক ছিল, তবে ফেজ টুপিটি গণ্ডগোল হয়েছে। আমি এখনই এটি ঠিক করেছি এবং অন্যান্য সমস্ত কেসও পরীক্ষা করেছি। আমাকে ভবিষ্যতে আরও যত্নবান হতে হবে!
ক্লাদিউ

পার্টিতে দেরি হয়ে গেছে, তবে এই টিআইও বলেছেন এটি আমার জন্য 297। ইন্টেলিজ বলেছেন 299. আমি কি কিছু মিস করছি?
তুষারপাত

21

পাইথন 2, 354 280 241 261 বাইট

def s(g):H,N,L,R,X,Y,T,B=[int(c)-1for c in g];e='.oO-';print(' '*9+'_ _ ___ _ _\n\n\n\n    _. (=./_=._*=.\\__. )')[H::4]+'\n'+' \\  '[X]+'('+e[L]+',._ '[N]+e[R]+')'+' /  '[Y]+'\n'+'< / '[X]+"("+' ]> :    [< '[T::4]+')'+'> \\ '[Y]+'\n ('+' "_ : _  "_ '[B::4]+")"

কলিং s('33232124')দেয়:

   _ 
  /_\ 
\(o_O) 
 (] [)>
 (   )

কিন্তু আমার পছন্দের হয় 44242123এবং 41341144:

  ___      ___
 (_*_)    (_*_)
\(o -)    (O,-) 
 (] [)>  <(   )>
 (___)    (   )

1
যখন আমি s('33232124')ফেজ স্ল্যাশগুলি আঁকানো হয় না। আসলে টুপিটির নীচের অর্ধেকটি অনেক ক্ষেত্রে অনুপস্থিত। এছাড়াও, 0বিকল্পগুলির মধ্যে একটি নয়।
ক্যালভিনের

ক্যালভিনের শখগুলি ধন্যবাদ, আমি এটি ঠিক করেছি।
সিস টিমারম্যান

20

সিজেম, 150 145 বাইট

বেস সব জিনিস রূপান্তর !

"b8li'
U9gN;|"125:Kb8bl:~f="r  pL|P3{cR`@L1iT"Kb21b"G.HMtNY7VM=BM@$^$dX8a665V"KbFb"=_./ <[(*-oO,\":"f=_"/<[(""\>])"er+4/f=.=7/N*

এসই মঙ্গলের ছাপ ছাপানো নেই, সুতরাং এখানে প্যাস্তবিনের একটি অনুলিপি রয়েছে। নিশ্চিত করুন যে আপনি "RAW পেস্ট ডেটা" অংশটি অনুলিপি করেছেন, লাইন সংখ্যার পাশের অংশটি নয়। আপনি এটি অনলাইনে চেষ্টা করতে পারেন , তবে পারমালিঙ্ক কিছু ব্রাউজারে কাজ না করে।

ব্যাখ্যা

"b8li'U9gN;|"125:Kb8bpঅংশ অ্যারের উত্পন্ন

[1 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 2 1 3 0 5 4 0 6 6 6 0 5 0 0 7 7 7 0]

যা অঙ্কটি ব্যবহৃত হয় সেখানে ইনপুটটির প্রতিটি অঙ্ককে মানচিত্র করে। সমস্ত ইনপুট (যেমন নেতৃস্থানীয় স্পেস এবং ()) এর সাধারণ যে কোনও কিছু নির্বিচারে একটি 0 নির্ধারিত হয়, প্রথমে 1 নির্ধারিত ব্যতীত যাতে বেস রূপান্তরটি কাজ করতে পারে।

l:~f=তারপরে প্রতিটি ডিজিটকে একটি ইনট এবং ম্যাপ অনুসারে রূপান্তর করে, যেমন 14441133আমরা পাই

[2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 2 4 1 2 1 1 3 3 3 1 2 1 1 4 4 4 1]

"G.HMtNY7VM=BM@$^$dX8a665V"KbFb"=_./ <[(*-oO,\":"f= স্ট্রিং দেয়

"_=./  /  < /  [<(((((_. _ _     _ __*=._-.oO ,._  \"_ :   : _"

যার পরে আমরা সদৃশ, প্রতিস্থাপন /<[( সঙ্গে \>])এবং একটি দীর্ঘ স্ট্রিং দিতে যোগ করুন। তারপরে আমরা স্ট্রিংটিকে 4 টি গ্রুপে বিভক্ত করলাম এবং অন্য অ্যারে অনুসারে ম্যাপ করব "r pL|P3{cR`@L1iT"Kb21b, এভাবে প্রতিটি কক্ষের সমস্ত সম্ভাব্য বিকল্পগুলি বর্ণনা করে দৈর্ঘ্য -4 স্ট্রিংয়ের একটি অ্যারে পাওয়া যাবে (উদাহরণস্বরূপ _=./, দ্বিতীয় লাইনের দ্বিতীয় অক্ষরের জন্য সমস্ত সম্ভাব্য বিকল্পগুলি, এটি শুরু করে রাশিয়ান টুপি)।

শেষ অবধি আমরা সেই অনুযায়ী ইনপুটগুলিতে বিকল্পগুলি মানচিত্র করি .=, length দৈর্ঘ্যের সারিগুলিতে বিভক্ত হয়ে 7/কিছু নতুন লাইনে রিফাল করি N*

টেস্ট রান

11111111

 _===_ 
 (.,.) 
<( : )>
 ( : )

22222222
  ___  
 ..... 
\(o.o)/
 (] [) 
 (" ")

33333333
   _   
  /_\  
 (O_O) 
/(> <)\
 (___)

44444444
  ___  
 (_*_) 
 (- -) 
 (   ) 
 (   )

19

টিআই-বেসিক, 397 বাইট

গুরুত্বপূর্ণ: আপনি যদি এটি পরীক্ষা করে দেখতে চান তবে এখান থেকে ডাউনলোড করুন এবং সেই ফাইলটি আপনার ক্যালকুলেটরে প্রেরণ করুন। আপনার ক্যালকুলেটরে এটি তৈরি এবং প্রেরণের জন্য নীচে কোডটি টিআই-কানেক্ট সিই এর প্রোগ্রাম সম্পাদক বা সোর্স কোডার 3 বা কোনও কিছুতে অনুলিপি করার চেষ্টা করবেন না ; টিআই-কানেক্টের ক্ষেত্রে, এটি বলবে এটির একটি অবৈধ টোকেন রয়েছে। এসসি 3 ব্যাকস্ল্যাশকে মন্তব্য ডিলিমিটার হিসাবে ব্যবহার করে ( //এসসি 3 তে একটি মন্তব্য শুরু করে; /\/যদিও, রফতানি করবে)// এটি রফতানি করবে) এবং সুতরাং এটি অস্ত্র এবং টুপি এবং এ জাতীয় সঠিকভাবে রফতানি করবে না, ফলে প্রোগ্রামটি উভয়েরই শরীরের ভুল অংশ প্রদর্শন করবে এবং একটি নিক্ষেপ করবে ত্রুটি: DOMAIN এখন এবং তারপরে। মজার জিনিস!

গুরুত্বপূর্ণ # 2: আমি এই মুহুর্তে ডাউনলোডটি ঠিক করতে খুব অলস, তাই আপনি যখন এটি আপনার ক্যালকের কাছে স্থানান্তর 7করেন, তৃতীয় লাইনের নীচে থেকে পরিবর্তন করুন X+6। আপনার তুলনা করার প্রয়োজন হলে নীচের কোডটি ঠিক করা হয়েছে।

Input Str9
seq(inString("1234",sub(Str9,I,1)),I,1,length(Ans→L1
"      ___   _   ___ →Str1
"_===_..... /_\ (_*_)→Str2
",._ →Str3
"•oO-→Str4
"<\/ →Str5
">/\ →Str6
" : ] [> <   →Str7
" : ¨ ¨___   →Str8
"Str1Str2Str3Str4Str5Str6Str7Str8→Str0
For(X,3,5
Output(X,2,"(   )
End
L1
Output(3,3,sub(Str4,Ans(3),1)+sub(Str3,Ans(2),1)+sub(Str4,Ans(4),1
Ans(5
Output(4-(Ans=2),1,sub(Str5,Ans,1
L1(6
Output(4-(Ans=2),7,sub(Str6,Ans,1
L1-1
For(X,1,2
Output(X+3,3,sub(expr(sub(Str0,X+6,1)),1+3Ans(X+6),3
Output(X,2,sub(expr(sub(Str0,X,1)),1+5Ans(1),5
End

বোনাস: আমি বিশেষভাবে পছন্দ করি 12341214

 _===_
 (O.-)/
<( : )
 (   )

কিছু নোট:

  • এটি অবশ্যই আরও গল্ফ করা যেতে পারে, সে সম্পর্কে কোনও প্রশ্ন নেই। আমি প্রায় ইতিবাচক যে আমি আউটপুটটিংয়ের একটি সংখ্যাগরিষ্ঠ, সমস্ত না হলেও একত্রিত করতে পারি (লুপ। এছাড়াও, আমি নিশ্চিত যে আমি কিছু স্ট্রিংকে একত্রে মার্জ করতে পারি pretty
  • স্ট্র 4-এ (চোখের) আমি "প্লট ডট" ( [2ND] → [0]CATALOG → [3]θ → scroll down, it's between ﹢ (small plus) and · (interpunct)) একটি সময়ের বিপরীতে ব্যবহার করি যাতে চোখটি কমাটির সাথে সরে না যায়, কারণ এটি জাহান্নামের মতো অদ্ভুত দেখাচ্ছে।
  • স্ট্র 8 (বেস) এ আমাকে ডাবল উদ্ধৃতিগুলির পরিবর্তে ডায়রিসিস (¨) ব্যবহার করতে হয়েছিল কারণ টিআই-বেসিকের অক্ষরগুলি এড়ানোর কোনও উপায় নেই এবং ডাবল উদ্ধৃতিগুলি স্ট্রিং / স্ট্রিং শুরু করতে ব্যবহৃত হয়।
  • টিআই-বেসিক-এ, বন্ধনী এবং বন্ধনী বন্ধ করার দরকার নেই যদি সেগুলি অনুসরণ করে কোলন, নিউলাইন বা → (ভার অ্যাসাইনমেন্টের জন্য ব্যবহৃত হয়), এবং ডাবল উদ্ধৃতি (স্ট্রিং) কোনও নিউলাইন বা → পরে অনুসরণ না করে থাকতে পারে →

1
প্রথম, দ্বিতীয় লাইনে, length(Ansহওয়া উচিত length(Str9; দ্বিতীয়ত, আপনি কি Str3 এর মাধ্যমে একক স্ট্রিংয়ে Str3 একত্রিত করার চেষ্টা করেছেন?
lirtosiast

ওফফফ! যদিও আমি মনে করি এটি ডাউনলোডে স্থির হয়েছে। যে পাশাপাশি আমি এই অনেক দিকে তাকিয়ে আছে না যেহেতু আমি এটি তৈরি করা, কিন্তু আমি করেনি উল্লেখ করে আমি সম্ভবত কিছু স্ট্রিং একসঙ্গে মার্জ করতে পারে; আমি আজ / এই সপ্তাহে যে কোনও সময় সন্ধান করব।
এমআই রাইট

18

সি, 280 272 264 বাইট

আংশিকভাবে এই মুহুর্তে গল্ফড, তবে এটি একটি মজাদার চ্যালেঞ্জ।

#define P(n)[s[n]&3],
f(char*s){printf("  %.3s\n %.5s\n%c(%c%c%c)%c\n%c(%.3s)%c\n (%.3s)",
"___   ___ _"+*s%4*3,"(_*_)_===_..... /_\\"+*s%4*5,"  \\ "P(4)"-.o0"P(2)    
" ,._"P(1)"-.o0"P(3)"  /"P(5)" < /"P(4)"    : ] [> <"+s[6]%4*3," > \\"P(5)
"    : \" \"___"+s[7]%4*3);}

(পঠনযোগ্যতার জন্য কিছু অতিরিক্ত \ n দিয়ে With n দিয়েছি)) আমি আশা করি defineআরও গল্ফ দিয়ে the

আরও পাঠযোগ্য সংস্করণ হ'ল

#define P(n)[s[n]&3],
f(char *s) {
  printf("  %.3s\n"
         " %.5s\n"
         "%c(%c%c%c)%c\n"
         "%c(%.3s)%c\n"
         " (%.3s)",
         "___   ___ _"+*s%4*3,                  /* Top of hat. */
         "(_*_)_===_..... /_\\"+*s%4*5,         /* Lower hat. */
         "  \\ "P(4)                            /* Upper left arm. */
         "-.o0"P(2)                             /* Left eye. */
         " ,._"P(1)                             /* Nose. */
         "-.o0"P(3)                             /* Right eye. */
         "  /"P(5)                              /* Upper right arm. */
         " < /"P(4)                             /* Lower left arm. */
         "    : ] [> <"+s[6]%4*3,               /* Torso. */
         " > \\"P(5)                            /* Lower right arm. */
         "    : \" \"___"+s[7]%4*3              /* Base. */
         );
}

12

সি, 212 বাইট

d;main(){char*t="##3#b#b3#bbb3#b#b##\r#3b1#+3@12b3@1b-3@1_b3b1#,#\r7#_##+51rR04/1b#61rR0,8#2##\r7?#2#+9#`A#9=###9#^?#,8A#_#\r#+:#%b#:=#b#:#%b#,#",p[9];for(gets(p);d=*t++;putchar(d-3))d=d<51?d:(p[d-51]-53)[t+=4];}

একটি পঠনযোগ্য সংস্করণ:

d;
main()
{
    char *t = "##3#b#b3#bbb3#b#b##\r"
              "#3b1#+3@12b3@1b-3@1_b3b1#,#\r"
              "7#_##+51rR04/1b#61rR0,8#2##\r"
              "7?#2#+9#`A#9=###9#^?#,8A#_#\r"
              "#+:#%b#:=#b#:#%b#,#",
        p[9]; // 9 bytes is just enough for the input string of length 8

    for (gets(p); d = *t++; putchar(d-3))
        d = d < 51 ? d : (p[d - 51] - 53)[t += 4];
}

আমি রেটো কোরাদি উত্তর থেকে ধারণাটি নিয়েছি । আমি বেশ কয়েকটি মজাদার উন্নতি করেছি, যা পৃথক উত্তর পোস্টের পরোয়ানা হতে পারে:

  • ফাংশন থেকে প্রোগ্রামে রূপান্তরিত (+১০)
  • কন্ট্রোল স্ট্রিংয়ে নতুনলাইনগুলি সরানো হয়েছে (-7)
  • \"(-3) এর মতো কম পালানো অক্ষর পেতে সমস্ত অক্ষর কোডগুলিতে 3 যুক্ত করা হয়েছে
  • স্বায়ত্তশাসনের সাথে স্ট্রিং থেকে পড়া; t[i++]দ্বারা প্রতিস্থাপিত *t++(-4)
  • whileদ্বারা প্রতিস্থাপিত for; সরানো {}(-4)
  • সরলিকৃত লুপ সমাপ্তি: \0(-9) অবধি পড়া
  • t[...],t+=4(...)[t+=4]কমা অপারেটরকে অপসারণ করতে রূপান্তরিত হয়েছে (-1)

কেন সব ঝামেলা? আমার প্রিয় একটি, তুষার ভূত ভাগ করতে:

   _
  /_\
\(. .)/
 (   )
 (___)


10

জাভাস্ক্রিপ্ট, 489 (নতুন লাইন এবং ট্যাব ছাড়াই)

x=' ';
d="   ";
h=['\n_===_',' ___ \n.....','  _  \n /_\\ ',' ___ \n(_*-)'];
n=[',','.','_',x];
e=['.','o','O','-'];
y=['>',,'\\',x];
u=['<',,'/',x];
t=[' : ','[ ]','> <',d;
b=[' : ','" "',"___",d];

j=process.argv[2].split('').map(function(k){return parseInt(k)-1});
q=j[4]==1;
w=j[5]==1;

console.log([
    h[j[0]].replace(/(.*)\n(.*)/g, " $1\n $2"),
    (q?'\\':x)+'('+e[j[2]]+n[j[1]]+e[j[3]]+')'+(w?'/':x),
    (!q?u[j[4]]:x)+'('+t[j[6]]+')'+(!w?y[j[5]]:x),
    x+'('+b[j[7]]+')'].join('\n'));

সাথে চালানো node snowman.js 33232124


6
কোড গল্ফ স্বাগতম! কয়েকটি পয়েন্টার: আপনার parseIntকল প্রয়োজন হতে পারে না , যেহেতু বিয়োগটি স্বয়ংক্রিয়ভাবে সংখ্যায় স্ট্রিং অপারেন্ডগুলি কাস্ট করার চেষ্টা করে। এছাড়াও, আপনি functionমোড়ানো থেকে মুক্তি পেতে পারেন এবং কেবল নেতৃত্ব দিতে পারেন i=process.argv[2], যদি না আপনি এটিকে পুনরাবৃত্তি বা পরিবর্তনশীল স্কোপিংয়ের জন্য ব্যবহার করেন। অতিরিক্তভাবে, আপনি sসম্পূর্ণরূপে পরিত্রাণ পেতে এবং ঠিক করতে পারেন console.log([ ... ].join('\n'))
অ্যাপসিলাররা

3
প্রকৃতপক্ষে, আপনি প্রতিটি আইটেমের সূচক বাড়ানোর জন্য আপনার প্রতিটি অ্যারেতে নেতৃস্থানীয় কমা রাখলে আপনি সম্পূর্ণ ইনপুট স্ট্রিং-টু-অ্যারে রূপান্তরটি সরিয়ে ফেলতে পারেন। এটা তোলে 7 যোগ ,অক্ষর, কিন্তু এটি আপনি একাধিক 50. অবশেষে, এক খুব খুঁতখুঁতে অপ্টিমাইজেশান ব্যবহার করা হবে অপসারণ করতে পারবেন q=j[4]-1পরিবর্তে q=j[4]==1(এবং তারপর আপনার ব্যবহার আলোকসম্পাতের qএবং !q)। এই কারণ হবে qহতে 0(ক falsey মান) যখন j[4]হয় 1, এবং অন্যথায় একটি truthy অশূন্য মান। এটি আপনার বর্তমান সত্য / মিথ্যা মানগুলির ঠিক বিপরীত, সুতরাং আপনি কেবল স্যুইচ করুন qএবং !q
অ্যাপসিলাররা

আপনার প্রথম উত্তরে প্রতিক্রিয়ার oundিবি জন্য দুঃখিত! আমি ব্যক্তিগতভাবে আমার জমাগুলিকে সংশোধন করে গল্ফিংয়ের অন্যতম মজাদার অংশ বলে মনে করি; আপনি যদি আমার অনুভূতি ভাগ না করেন তবে আমার ক্ষমা চাই। :)
অ্যাপসিলাররা

@ অ্যাপসিলাররা আপনার প্রতিক্রিয়াটি প্রশংসিত! আমি গত রাতে ঘুমাতে যাচ্ছিলাম এবং পরে এটি সহজতম দিকে ঝুঁকির সম্পূর্ণ উদ্দেশ্য নিয়ে মজাদার জন্য এটি লিখেছিলাম। আমি আজ রাতে কিছু সম্পাদনা করব!
ক্রিস্টোফার রিড 19

9

পাইথ, 203 বাইট

M@GCHgc"  ___

  ___
   _"bhzgc" (_*_)
 _===_
 .....
  /_\\"bhzs[g"  \ "@z4\(g"-.oO"@z2g" ,._"@z1g"-.oO"@z3\)g"  / "@z5)s[g" < /"@z4\(gc"   
 : 
] [
> <"b@z6\)g" > \\"@z5)++" ("gc"   
 : 
\" \"
___"bez\)

হাঃ হাঃ হাঃ. এটি অনলাইনে ব্যবহার করে দেখুন: পাইথ সংকলক / নির্বাহক

ব্যাখ্যা

প্রথমে আমি একটি সহায়ক ফাংশন সংজ্ঞায়িত করি g, যা একটি তালিকা এবং চার্টকে ইনপুট হিসাবে গ্রহণ করে, চরটিকে তার এএসসিআইআই-মান হিসাবে রূপান্তর করে এবং সংবাদদাতা উপাদান (মডুলার মোড়ানো) নেয়।

M@GCH  def g(G,H): return G[ord(H)]

অন্যান্য জিনিসগুলি কেবল লাইন দ্বারা প্রিন্ট করা। উদাহরণস্বরূপ প্রথম লাইনটি হ'ল:

 c"  ___\n\n  ___\n   _"b     split the string "  ___\n\n  ___\n   _" at "\n"
                         hz   first char in input
g                             apply g and print

BTW। আমি কিছুটা নিয়ে পরীক্ষা করেছিলাম .F"{:^7}", যা একটি স্ট্রিং কেন্দ্র করে centers এটি ব্যবহার করে, আমি আমার কোডে কয়েকটি স্পেস সংরক্ষণ করতে পারি, তবে এটি শেষে কোনও বাইট সংরক্ষণ করে না।


9

আর, 436 437 বাইট

এখানে আমার প্রথম চেষ্টা , আর ব্যবহার করে যা সবচেয়ে কম তবে মজাদার নয়। কমপক্ষে আমি জাভাস্ক্রিপ্ট মারছি (আপাতত) ...

H=c("_===_"," ___\n .....","  _\n  /_\\"," ___\n (_*_)")
N=c(",",".","_"," ")
L=c(".","o","O","-")
X=c(" ","\\"," "," ")
S=c("<"," ","/"," ")
Y=c(" ","/"," ","")
U=c(">"," ","\\","")
T=c(" : ","] [","> <","   ")
B=c(" : ","\" \"","___","   ")
f=function(x){i=as.integer(strsplit(x,"")[[1]]);cat(" ",H[i[1]],"\n",X[i[5]],"(",L[i[3]],N[i[2]],L[i[4]],")",Y[i[6]],"\n",S[i[5]],"(",T[i[7]],")",U[i[6]],"\n"," (",B[i[8]], ")",sep="")}

পরীক্ষামূলক:

> f("12344321")
 _===_
 (O.-) 
 (] [)\
 ( : )

আমি আসলে লড়াই করেছি Xএবং Yবহুগুণযুক্ত হয়েছি কিন্তু এর মধ্যে স্টাফ দিয়েছি , প্রতিটি লাইনটি ( X, S) এবং ( Y, U) আলাদা করে শেষ করেছি ।

function এবং স্ট্রিং থেকে পূর্ণসংখ্যায় রূপান্তরও খুব ভার্জোজ।

436 => 437 সম্পাদনা করুন

@ ওগানএম দ্বারা লক্ষ্য করা একটি অনুপস্থিত খালি জায়গা ঠিক করতে হয়েছিল

এর সাথে ভেরিয়েবলগুলির মধ্যে লাইন ব্রেকগুলি প্রতিস্থাপন করে আমি 428 এ হ্রাস করতে পারলাম ;, তবে "এক-রেখাযুক্ত" কোডটি দেখতে এত খারাপ এবং অপঠনীয় বলে মনে হচ্ছে আমি সেই লোভী হব না।


আপনার প্রয়োজন এবং 4 র্থ টুপি
OganM

@ ওগানএম সেই অতিরিক্ত বাইটের জন্য ধন্যবাদ! :( স্থির।
মলেক্স

কোডগল্ফ করার সময় আমরা প্রতিটি নতুন লাইনকে দুটি চরিত্রের বিপরীতে (উইন্ডোজ হিসাবে) একটি অক্ষর হিসাবে (যেমন এটি * নিক্সে থাকে) গণনা করি। সুতরাং আপনি সেমিকোলন বা নতুন লাইন ব্যবহার করেন কিনা তা বিবেচ্য নয়।
#HongKongInd dependence

টিপস টিপসের জন্য ধন্যবাদ, জেনে রাখা ভাল!
Molx

8

হাস্কেল, 361 306 289 বাইট

o l a b=take a$drop((b-1)*a)l
n="\n"
p i=id=<<["  ",o"    \n _===____ \n ..... _  \n  /_\\ ___ \n (_*_)"11a,n,o" \\  "1e,o"(.(o(O(-"2c,o",._ "1 b,o".)o)O)-)"2d,o" /  "1f,n,o"< / "1e,o"( : )(] [)(> <)(   )"5g,o"> \\ "1f,n," (",o" : )\" \")___)   )"4h]where[a,b,c,d,e,f,g,h]=map(read.(:[]))i

ব্যবহার:

putStrLn $ p "12333321"

 _===_
 (O.O) 
/(] [)\
 ( : )

এটি কীভাবে কাজ করে: তালিকার প্রতিটি উপাদানকে [hat options, left upper arm options, left eye options, ..., base options]সংশ্লিষ্ট ইনপুট নম্বর সহ সূচী করুন এবং এটিকে একক তালিকায় যুক্ত করুন aten আমি বাম এবং ডান হাতটি একটি উপরের এবং নীচের অংশে বিভক্ত করেছি, যাতে আমি সারি করে স্নোম্যান লাইন তৈরি করতে পারি।

আমার প্রিয় ক্লাসিক 11112211

সম্পাদনা করুন: স্ট্রিংগুলির তালিকা থেকে অংশগুলির জন্য স্ট্রিংগুলিতে স্যুইচ করা হয়েছে (টুপি, চোখ, ...)। একটি দ্বিতীয় প্যারামিটার প্রয়োজন, সাবস্ট্রিংয়ের গ্রহণের দৈর্ঘ্য।

সম্পাদনা দ্বিতীয়: সাধারণ সাবস্ট্রিংগুলি উত্তোলন করা হয়েছে


8

সি, 233 230 বাইট

char*t="  0 _ _0 ___0 _ _   0_. (0=./_0=._*0=.\\_0_. ) 4 \\  (2.oO-1,._ 3.oO-)5 /  4< / (6 ]> 6:   6 [< )5> \\  (7 \"_ 7: _ 7 \"_ ) ";i,r,d;f(char*p){while(r++<35){d=t[i]-48;putchar(t[d<0?i:i+p[d]-48]);i+=d<0?1:5;r%7?0:puts("");}}

আরও ভাল পঠনযোগ্যতার জন্য নিউলাইন এবং সাদা স্থান সহ:

char* t = "  0 _ _0 ___0 _ _   0_. (0=./_0=._*0=.\\_0_. ) 4 \\  (2.oO-1,._ 3.oO-)5 /  4< / (6 ]> 6:   6 [< )5> \\  (7 \"_ 7: _ 7 \"_ ) ";
i, r, d;
f(char* p)
{
    while (r++ < 35)
    {
        d = t[i] - 48;
        putchar(t[d < 0 ? i : i + p[d] - 48]);
        i += d < 0 ? 1 : 5;
        r % 7 ? 0 : puts("");
    }
}

পুরো জিনিসটি মোটামুটি শক্তিশালী শক্তি। এটি এমন একটি টেবিল ব্যবহার করে যাতে 35 টি (দৈর্ঘ্যের 7 টি লাইন) অক্ষরের প্রত্যেকটির জন্য একটি করে প্রবেশ থাকে। সারণীতে প্রতিটি প্রবেশই হয়:

  • একটি ধ্রুবক অক্ষর: , (, )। সারণি প্রবেশের দৈর্ঘ্য 1 টি অক্ষর।
  • দেহের অংশের সূচক, তারপরে ইনপুটটিতে অংশ নির্বাচনের উপর নির্ভর করে 4 টি সম্ভাব্য অক্ষর। সারণি প্রবেশের দৈর্ঘ্য 5 টি অক্ষর।

কোডটি 35 টি অক্ষরের উপরে লুপ করে এবং সারণীতে মানটি দেখায়।


8

আর 414 বাইট

মলক্সের সংস্করণটির সামান্য পরিবর্তিত সংস্করণ

W =c("_===_"," ___\n .....","  _\n  /_\\"," ___\n (_*_)",",",".","_"," ",".","o","O","-"," ","\\"," "," ","<"," ","/"," "," ","/"," ","",">"," ","\\",""," : ","] [","> <","   "," : ","\" \"","___","   ")
f=function(x){i=as.integer(strsplit(x,"")[[1]]);cat(" ",W[i[1]],"\n",W[i[5]+12],"(",W[i[3]+8],W[i[2]+4],W[i[4]+8],")",W[i[6]+20],"\n",W[i[5]+16],"(",W[i[7]+28],")",W[i[6]+24],"\n"," (",W[i[8]+32], ")",sep="")}

কেবল পৃথক ভেরিয়েবলগুলিকে একটিতে মার্জ করা হয়েছে। রুটিনের জন্য ব্যবহৃত কিছু জায়গার শাঁও করা X=c(


7

সিজোম, 200 191 বাইট

এটি অবশ্যই অনেক গল্ফ করা যেতে পারে। (বিশেষত যদি আমি এটিকে এনকোড করে থাকি)। তবে এখানে শুরুর দিকে:

7S*"_===_  ___  .....   _    /_\   ___  (_*_)"+6/2/Nf*",._ "1/".oO-"1/_" <\  /   >/  \  "2/4/~" : ] [> <    : \" \"___   "3/4/~]l~Ab:(]z::=:L0=N4{L=}:K~0='(2K1K3K')5K0=N4K1='(6K')5K1=NS'(7K')

ইনপুট STDIN এ যায়। উদাহরণস্বরূপ, ইনপুট 23232223দেয়:

  ___ 
 .....
\(o_O)/
 (] [) 
 (___)

এটি এখানে অনলাইনে চেষ্টা করুন


7

হাস্কেল, 333 বাইট

আমার প্রথম জমা! বাম থেকে ডানে উপর থেকে নীচে তুষারমানকে তৈরি করে। আমি বাহুগুলিকে প্রতিটি বাহুর জন্য দুটি কার্যে বিভক্ত করি, অংশটি মাথার পাশে এবং অংশটি দেহের পাশের।

ফাংশনটি পূর্ণসংখ্যার একটি তালিকা গ্রহণ করে এবং ফাংশনগুলির আউটপুটকে সম্মতি দেয় যা দেহের অংশগুলি ইনপুটটির সঠিক সাবলিস্টগুলি দেওয়া হয়।

a=y["\n _===_\n","  ___ \n .....\n","   _  \n  /_\\ \n","  ___ \n (_*_)\n"]
d=y",._ "
c=y".oO-"
e=y"< / "
j=y" \\  "
f=y"> \\ "
k=y" /  "
y w n=w!!(n-1)
h=y[" : ","] [","> <","   "]
b=y[" ( : ) \n"," (\" \") \n"," (___) \n"," (   ) \n"]
s(m:x:o:p:n:q:t:l:_)=putStr$a m++j x:'(':c o:d n:c p:')':k q:'\n':e x:'(':h t++')':f q:'\n':b l

এটি ফাংশন উপর নির্ভর করে

y :: [a] -> Int -> a
y w n=w!!(n-1)

এটি প্রদত্ত তালিকার নবম উপাদানকে প্রদান করে। এটি একটিতে টুপিগুলির তালিকাগুলির পাশাপাশি সেই জাতীয় জিনিসের জন্য মঞ্জুরি দেয়

k=y" /  "

এই সমস্ত ফাংশন একটি বিটা হ্রাস ব্যবহার করে তাই তাদের যুক্তি y ফাংশনে সূচক হিসাবে পাস করা হয়।

আউটপুট:

λ> s $ repeat 1

 _===_
 (.,.) 
<( : )>
 ( : ) 

λ> s $ repeat 2
  ___ 
 .....
\(o.o)/
 (] [) 
 (" ") 

λ> s $ repeat 3
   _  
  /_\ 
 (O_O) 
/(> <)\
 (___) 

λ> s $ repeat 4
  ___ 
 (_*_)
 (- -) 
 (   ) 
 (   ) 

@ ক্যালভিনের শখগুলি ধন্যবাদ, আমি মনে করি আমি এখন এটি স্থির করেছি।
ক্রেগ রায়

7

পাইথন 3, 349 336 254 251 বাইট

আমার থিসিস করার জন্য অনেক কিছু।

এখানে স্নোম্যান.পি ফাইলের সামগ্রী রয়েছে :

l='_===_| ___\n .....|  _\n  /_\| ___\n (_*_)| : |] [|> <|   |>| |\| | : |" "|___|   '.split('|')
l[4:4]=' \  .oO-,._ .oO- /  < / '
def s(a):print(' {}\n{}({}{}{}){}\n{}({}){}\n ({})'.format(*[l[4*m+int(a[int('0421354657'[m])])-1]for m in range(10)]))

এবং এইভাবেই আমি আমার প্রিয় তুষারমানবটিকে জঞ্জাল করছি:

s('11112311')

 _===_ 
\(.,.) 
 ( : )\
 ( : ) 

ব্যাখ্যা

# Create a list containing the 4 * 10 body parts of the snowman in order of drawing:
#   hats,
#   upper left arms, left eyes, noses, right eyes, upper right arms,
#   lower left arms, torso's, lower right arms,
#   bases
l='_===_| ___\n .....|  _\n  /_\| ___\n (_*_)| : |] [|> <|   |>| |\| | : |" "|___|   '.split('|')
l[4:4]=' \  .oO-,._ .oO- /  < / '
# This is the function that draws the snowman
# All the lines of this function are golfed in a single statement, but seperated here for clearity
def s(a):
    # In this list comprehension I put the elements of l that are chosen according to the parameters
    list_comprehension = []
    # m is the number of the body part to draw
    for m in range(10):
        # Get the index for the choice of the m-th bodypart
        # (example: the 2nd bodypart (m = 1: the upper left arm) is in the 4th place of the arguments list)
        choice_index = int('0421354657'[m])
        # n is the parameter of the current bodypart
        n = int(a[choice_index]) - 1
        # Add the body part from list l to the list comprehenseion
        list_comprehension.append( l[4 * m + n] )
    # Print the list comprehension with the static parts
    print(' {}\n{}({}{}{}){}\n{}({}){}\n ({})'.format(*list_comprehension))

আপনি লাইন 2 এর মধ্যে [int(i)]এবং এর মধ্যবর্তী স্থানটি সরাতে পারেন for। একইভাবে আপনি লাইন 7 এর মধ্যে f(int(i))এবং এর মধ্যবর্তী স্থানটি সরাতে পারেন for। এছাড়াও, আপনার print()বিবৃতিতে আপনাকে চূড়ান্ত স্থান মুদ্রণের প্রয়োজন নেই - এটি তুষারের অংশ নয়। অবশেষে, আপনার print()কলটি একটি একক লাইনে পরিবর্তন করুন print("{}\n{}({}{}{}){}\n{}({}){}\n ({})".format(*c))। এগুলির প্রতিটিতে আপনার মোট 1 বাইট সংরক্ষণ করা উচিত, মোট 4 বাইট সংরক্ষণ করুন :)
এসহং কং ইন্ডিজপেন্ডেন্স

1
এছাড়াও, গ্লোবাল ভেরিয়েবল ব্যবহার না করে n, আপনি কার্যটির একটি বৈশিষ্ট্য নির্ধারণ করতে পারেন f। সুতরাং আপনি লাইনগুলি 5-6 এর সাথে প্রতিস্থাপন করতে পারেন: def f(m):f.n+=1;return l[4*m+int(b[f.n])-1]<নিউলাইন> f.n=-1। এটি আরও 3 বাইট হ্রাস করে।
#HongKongInd dependence

1
@ace ধন্যবাদ, ফাংশনটির গুণাবলী এর আগে কখনও শুনিনি, নতুন কিছু শিখলেন!
ম্যাটি

6

পাওয়ারশেল , 199 বাইট

রেটো কোরাদি এবং অ্যানাটোলিগ দ্বারা অনুপ্রাণিত ।

for($t='  0 _ _0 ___0 _ _
 0_. (0=./_0=._*0=.\_0_. )
4 \  (2.oO-1,._ 3.oO-)5 /  
4< / (6 ]> 6:   6 [< )5> \ 
 (7 "_ 7: _ 7 "_ )';$d=$t[$i++];$r+="$d"){if($d-ge48){$d=$t[$i+"$args"["$d"]-49]
$i+=4}}$r

এটি অনলাইন চেষ্টা করুন!

দ্রষ্টব্য: 3 লাইনের 2 টি ট্রেইল স্পেস রয়েছে, 4 নং লাইনের একটি ট্রেইল স্পেস রয়েছে।

আমার প্রিয় 44444444"ঘুমন্ত রাশিয়ান গার্ড":

 ___
(_*_)
(- -)
(   )
(   )

5

জাভাস্ক্রিপ্ট (ES6), 247

@ নিনজাবারমোনকি'র মতো ভাল বিজ্ঞাপন নয় :(

স্নিপেটে পরীক্ষা (ফায়ারফক্স সহ)

S=p=>([h,n,c,d,l,r,t,b,e,x]=[...p,' .oO-',`1_===_1 ___
 .....1  _
  /_\\1 ___
 (_*_)1 : 1] [1> <1   1 : 1" "1___1   `.split(1)],` ${x[h]}
${'  \\  '[l]}(${e[c]+' ,._ '[n]+e[d]})${'  /  '[r]}
${' < / '[l]}(${x[3-~t]})${' > \\ '[r]}
 (${x[7-~b]})`)

// TEST // 

function go()
{
  var n=N.value
  if (/^[1-8]{8}$/.test(n)) {
    s=S(n)
    OUT.innerHTML = s+'\n'+n+'\n\n'+ OUT.innerHTML
  }
  else N.focus()
}
  
<input id=N maxlength=8><button onclick="go()">Test</button>
<pre id=OUT></pre>


3

05 এ বি 1 ই , 137 135 128 122 বাইট

…( )7ÝJ»•αγʒδÓ₂©8¥ŽQxΣxêÿ•12вèJIvN”</[(
._-=:"ÆŸ,*”º•DùÙÂ+;Èγтáì³ÓW©ÎÂ_`ƒ≠îj*ΓçÊ~ÞÒ¸β¦oåb/õ47/vÎΓ”›≠øØZµλݺ•20в趡Nè4äyè.;

-6 বাইটস @ গ্রিমিকে ধন্যবাদ ।

এটি অনলাইনে চেষ্টা করুন বা আরও কয়েকটি পরীক্ষার কেস যাচাই করুন

ব্যাখ্যা:

আমরা প্রথম টেমপ্লেট-স্ট্রিং তৈরি করি:

…( )         # Push string "( )"
7ÝJ          # Push a list in the range [0,7] joined together: "01234567"
»            # Join both by a newline: "( )\n01234567"
•αγʒδÓ₂©2°ćì₂òη₆½•
             # Push compressed integer 80545642885242518310229085147411483894
 12в         # Convert it to Base-12 as list: [1,4,4,4,4,4,3,1,4,4,4,4,4,3,8,0,6,5,7,2,9,3,8,0,10,10,10,2,9,3,1,0,11,11,11,2]
    è        # Index each into the string: [" ","0","0","0","0","0","\n"," ","0","0","0","0","0","\n","4","(","2","1","3",")","5","\n","4","(","6","6","6",")","5","\n"," ","(","7","7","7",")"]
     J       # And join it to a single string: " 00000\n 00000\n4(213)5\n4(666)5\n (777)"

যা দেখতে এরকম দেখাচ্ছে:

 00000
 00000
4(213)5
4(666)5
 (777)

তারপরে আমি ইনপুটটির অঙ্কগুলি লুপ করব:

I            # Get the input
 v           # Loop `y` over each of its digits:

এবং নিম্নলিখিতগুলি করুন: তালিকার
সূচকে (0-সূচিত) টিপুন N:

  N          # Push the index of the loop

অক্ষরের তালিকার তালিকা হিসাবে সমস্ত সম্ভাব্য অংশ পুশ করুন:

  ”</[(
  ._-=:"ÆŸ,*”
            "# Push dictionary string "</[(\n._-=:" Oo,*"
   º         # Mirror each line: "</[()]\>\n._-=:" Oo,**,oO ":=-_."
  DùÙÂ+;Èγтáì³ÓW©ÎÂ_`ƒ≠îj*ΓçÊ~ÞÒ¸β¦oåb47/vÎΓ”›≠øØZµλݺ•
             # Push compressed integer 492049509496347122906361438631265789982480759119518961177677313610613993948059787418619722816092858096158180892708001681647316210
   20в       # Convert it to Base-20 as list: [15,10,10,10,15,3,10,19,10,4,15,15,15,15,15,10,12,12,12,10,15,10,10,10,15,9,9,9,9,9,15,15,10,15,15,15,1,10,6,15,8,15,18,9,10,8,11,9,17,16,8,11,9,17,16,8,15,15,15,0,6,15,15,1,8,15,15,15,7,1,15,15,6,8,15,15,15,15,13,15,5,15,2,7,15,0,8,15,15,15,15,13,15,14,15,14,10,10,10]
      è      # Index each into the string: [" ","_","_","_"," ","(","_","*","_",")"," "," "," "," "," ","_","=","=","=","_"," ","_","_","_"," ",".",".",".",".","."," "," ","_"," "," "," ","/","_","\"," ","\n"," ",",",".","_","\n","-",".","o","O","\n","-",".","o","O","\n"," "," "," ","<","\"," "," ","/","\n"," "," "," ",">","/"," "," ","\","\n"," "," "," "," ",":"," ","]"," ","[",">"," ","<","\n"," "," "," "," ",":"," ","""," ",""","_","_","_"]
       ¶¡    # Split it by the newline character: [[" ","_","_","_"," ","(","_","*","_",")"," "," "," "," "," ","_","=","=","=","_"," ","_","_","_"," ",".",".",".",".","."," "," ","_"," "," "," ","/","_","\"," "],[" ",",",".","_"],["-",".","o","O"],["-",".","o","O"],[" "," "," ","<","\"," "," ","/"],[" "," "," ",">","/"," "," ","\"],[" "," "," "," ",":"," ","]"," ","[",">"," ","<"],[" "," "," "," ",":"," ","""," ",""","_","_","_"]]

Nবর্তমানে আমরা যে অংশটির সাথে কাজ করছি তার চরিত্রের তালিকা পেতে লুপ সূচকটি ব্যবহার করুন :

  Nè         # Index the loop index into it
             #  i.e. 6 → [" "," "," "," ",":"," ","]"," ","[",">"," ","<"]

তারপরে অক্ষর তালিকাটি চারটি সমান অংশে বিভক্ত করুন yএবং এর সূচীতে ইনপুট-ডিজিট (যা 1-সূচিযুক্ত) ব্যবহার করুন । (দ্রষ্টব্য: যেহেতু 05AB1E 0-সূচিযুক্ত, তবে ইনপুটটি 1-সূচকযুক্ত, তাই সূচীকরণের আগে অঙ্কটি 1 দ্বারা হ্রাস করা যুক্তিসঙ্গত হবে However তবে, 05AB1E যেহেতু স্বয়ংক্রিয়ভাবে র‌্যাপারআউন্ড রয়েছে (যেমন 3তালিকার সাথে সূচকের [1,3,5]ফলাফল হবে 1), তাই আমি কেবল চ্যালেঞ্জ বিবরণে এনআর 4 সহ অংশগুলি একবার ঘোরানো হয়েছে, তালিকার শীর্ষে রয়েছে))

    4ä       # Split it into 4 equal parts
             #  i.e. [[" "," "," "],[" ",":"," "],["]"," ","["],[">"," ","<"]]
      yè     # Index the input-digit `y` into it (with automatic wraparound)
             #  i.e. 4 → [" "," "," "]

এবং তারপরে আমরা প্রথমে যে লুপটিকে ধাক্কা দিয়েছি তার 0-সূচিযুক্ত সূচকটি প্রতি একের পর এক অংশ-অক্ষর দ্বারা প্রতিস্থাপন করুন:

  .;         # Replace first; every index of the loop `N` in the template-string
             # is replaced one by one with the characters

এবং শেষ পর্যন্ত ফলাফল সুস্পষ্টভাবে আউটপুট হয়।

সংক্ষিপ্তসার যন্ত্রগুলি কীভাবে কাজ করে তা বোঝার জন্য আমার এই 05AB1E টিপটি দেখুন ( বড় ইন্টিজারগুলি কীভাবে সংকুচিত করবেন ? এবং সংখ্যার তালিকাগুলি কীভাবে সংকুচিত করবেন? ) দেখুন


আমার প্রিয় হিসাবে, এটি আমার 'জাভা সমাধান পোস্ট করার সময় 1.5 বছর আগে এখনও একই' তুষার খরগোশ :

44114432:
   _  
 (_*_)
 (. .) 
 (> <) 
 (" ")

-4 , সিজেমকে পরাস্ত করার পক্ষে যথেষ্ট!
গ্রিমি

1
নীচে 122 এ , এবং আপনার কাছে যা ছিল তা কাছাকাছি।
গ্রিমি

@ গ্রিমি আপনার 122 বাইট সংস্করণটির 0চোখের মাঝে রয়েছে । :)
কেভিন ক্রুইজসেন

কেবল একটি বেস -12 এনকোডিংয়ের ভুল, এটি ঠিক করার পক্ষে যথেষ্ট সহজ হওয়া উচিত!
গ্রিমি

@ গ্রিমি আপনি ঠিক বলেছেন গতকাল আমার খুব বেশি সময় ছিল না, তবে এটি তালিকার একটি সাধারণ ফিক্স। -6 এর জন্য ধন্যবাদ! :)
কেভিন ক্রুইজসেন

2

জাভা 8, 548 545 432 401 399 বাইট

a->{int q=50,H=a[0]-49,N=a[1],L=a[2],R=a[3],X=a[4],Y=a[5];return"".format(" %s%n %s%n%c(%c%c%c)%c%n%c(%s)%c%n (%s)",H<1?"":H%2<1?" ___":"  _","_===_s.....s /_\\s(_*_)".split("s")[H],X==q?92:32,L<q?46:L<51?111:L<52?79:45,N<q?44:N<51?46:N<52?95:32,R<q?46:R<51?111:R<52?79:45,Y==q?47:32,X<q?60:X%2<1?32:47,"   s : s] [s> <".split("s")[a[6]%4],92-(Y%3+Y%6/4)*30,"   s : s\" \"s___".split("s")[a[7]%4]);}

এখানে চেষ্টা করুন।

ব্যাখ্যা:

a->{             // Method with character-array parameter and String return-type
  int q=50,      //  Temp integer with value 50 to reduce the byte-count
      H=a[0]-49, //  The hat-character as unicode value minus 49: 1=0; 2=1; 3=2; 4=3
      N=a[1],L=a[2],R=a[3],X=a[4],Y=a[5];
                 //  Most of the other characters as unicode values: 1=49; 2=50; 3=51; 4=52
  return"".format(" %s%n %s%n%c(%c%c%c)%c%n%c(%s)%c%n (%s)",
                                               // Return the snowman with:
    H<1?"":H%2<1?" ___":"  _",                 //  The top of the hat
    "_===_s.....s /_\\s(_*_)".split("s")[H],   //  + the bottom of the hat
    X==q?92:32,                                //  + the top of the left arm
    L<q?46:L<51?111:L<52?79:45,                //  + the left eye
    N<q?44:N<51?46:N<52?95:32,                 //  + the nose
    R<q?46:R<51?111:R<52?79:45,                //  + the right eye
    Y==q?47:32,                                //  + the top of the right arm
    X<q?60:X%2<1?32:47,                        //  + the bottom of the left arm
    "   s : s] [s> <".split("s")[a[6]%4],      //  + the torso
    92-(Y%3+Y%6/4)*30,                         //  + the bottom of the right arm
    "   s : s\" \"s___".split("s")[a[7]%4]);}  //  + the feet

আমার পছন্দ:

44114432:
   _  
 (_*_)
 (. .) 
 (> <) 
 (" ")

কেন জানি না, তবে দেখতে খুব সুন্দর লাগছে। কানের পরিবর্তে রাশিয়ান টুপিযুক্ত একটি বানির মতো।


1

এফ #, 369 বাইট

let f(g:string)=
 let b=" "
 let p=printfn
 let i x=int(g.[x])-49
 p"  %s  "["";"___";" _ ";"___"].[i 0]
 p" %s "["_===_";".....";" /_\ ";"(_*_)"].[i 0]
 p"%s(%c%c%c)%s"[b;"\\";b;b].[i 4]".oO-".[i 2]",._ ".[i 1]".oO-".[i 3][b;"/";b;b;b].[i 5]
 p"%s(%s)%s"["<";b;"/";b].[i 4][" : ";"] [";"> <";"   "].[i 6][">";b;"\\";b].[i 5]
 p" (%s) "[" : ";"\" \"";"___";"   "].[i 7]

এটি অনলাইন চেষ্টা করুন!

যেহেতু gএকটি অ্যারে অ্যাক্সেসর ব্যবহার করে, আমি স্পষ্টভাবে একটি হিসাবে ফাংশন সংজ্ঞা টাইপ নির্দিষ্ট করতে হবে string, যে কারণে ফাংশন সংজ্ঞা আছে (g:string)

তা ছাড়া, এটি সাধারণত stringsকোনও সূচক দ্বারা অ্যাক্সেস করা একটি অ্যারে হয় । পৃথক রেখায় যে টুপি, বাম এবং ডান হাতগুলি পৃথক শীর্ষ এবং নীচে অ্যারেগুলিতে বিভক্ত হয়েছে। iফাংশন যুক্তি একটি সংখ্যা পরিবর্তনg অ্যারের সূচক মধ্যে। এবং চিঠিb অ্যারেগুলিতে এক-স্থানের স্ট্রিংগুলিকে প্রতিস্থাপন করে।

দুর্দান্ত চ্যালেঞ্জ! আমার প্রিয় স্নোম্যান সম্ভবত 242244113:

  ___  
 ..... 
 (o o) 
 ( : ) 
 ( : ) 

আমি তোমাকে লক্ষ্য করছি


1

পিএইচপি, 378 বাইট

<?$f=str_split;$r=$f($argv[1]);$p=[H=>'   _===____..... _  /_\ ___(_*_)',N=>',._ ',L=>'.oO-',R=>'.oO-',X=>' <\  /  ',Y=>' >/  \  ',T=>' : ] [> <   ',B=>' : " "___   '];echo preg_replace_callback("/[A-Z]/",function($m){global$A,$p,$r,$f;$g=$m[0];return$f($f($p[$g],strlen($p[$g])/4)[$r[array_search($g,array_keys($p))]-1])[(int)$A[$g]++];},'  HHH
 HHHHH
X(LNR)Y
X(TTT)Y
 (BBB)');

এটি অনলাইন চেষ্টা করুন!

আমি জ্ঞানী মিঃ আউল পছন্দ করি 31333342

   _ 
  /_\ 
 (O,O) 
/(   )\
 (" ")

1

পাইথন ২.7, ২৫7 বাইট (আমার মনে হয়)

H,N,L,R,X,Y,T,B=map(int,i)
l='\n'
s=' '
e=' .o0-'
F='  \  / '
S=' < / \ >'
o,c='()'
print s+'      _ _ ___ _ _\n\n\n\n    _. (=./_=._*=.\__. )'[H::4]+l+F[X]+o+e[L]+' ,._ '[N]+e[R]+c+F[-Y]+l+S[X]+o+'  ]> :    [< '[T::4]+c+S[-Y]+l+s+o+'  "_ : _  "_ '[B::4]+c

যেখানে 'i' একটি স্ট্রিং হিসাবে ইনপুট (যেমন "13243213")


2
পিপিসিজিতে আপনাকে স্বাগতম! এটি হওয়ার সাথে সাথে এটি 256 বাইট। দুর্ভাগ্যক্রমে, আপনি ধরে নিতে পারবেন না ইনপুটটি একটি ভেরিয়েবলের মধ্যে সঞ্চিত আছে। আপনি কিন্তু প্রতিস্থাপন করতে পারেন iজন্য input()262 বাইট মোট
H.PWiz


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.