একটি কোড পৃষ্ঠা কোড করুন


15

ভূমিকা

একটি কোড পৃষ্ঠা একটি নির্দিষ্ট অক্ষরের পূর্ণসংখ্যার মানকে মানচিত্র করে। আমরা এর মতো একটি কোড পৃষ্ঠাটি কল্পনা করতে পারি:

+ + --- + + --- + + --- + + --- + + --- + + --- + + --- + + --- + + --- + + --- + + --- + + --- - - + + --- + + --- + + --- + + --- + +
| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | ক | খ | সি | ডি | E | এফ |
+ + --- + + --- + + --- + + --- + + --- + + --- + + --- + + --- + + --- + + --- + + --- + + --- - - + + --- + + --- + + --- + + --- + +
| 0 | প্রশ্ন | ডাব্লু | e | r | t | z | u | i | ও | পি | ক | s | ডি | চ | ছ | জ |
+ + --- + + --- + + --- + + --- + + --- + + --- + + --- + + --- + + --- + + --- + + --- + + --- - - + + --- + + --- + + --- + + --- + +
| 1 | কে | l | y | এক্স | গ | v | খ | এন | মি | প্রশ্ন | ডাব্লু | E | আর | টি | জেড | ইউ |
+ + --- + + --- + + --- + + --- + + --- + + --- + + --- + + --- + + --- + + --- + + --- + + --- - - + + --- + + --- + + --- + + --- + +
| 2 | আমি | ও | পি | ক | এস | ডি | এফ | জি | এইচ | জ | | | | | | |
+ + --- + + --- + + --- + + --- + + --- + + --- + + --- + + --- + + --- + + --- + + --- + + --- - - + + --- + + --- + + --- + + --- + +

সারিগুলি প্রথম অঙ্ক এবং কলামগুলি হেক্স-সংখ্যার দ্বিতীয় সংখ্যা নির্দিষ্ট করে।

চ্যালেঞ্জ

16-255 টি স্বতন্ত্র অক্ষরের একটি স্ট্রিং দেওয়া হয়েছে, স্ট্রিংয়ের প্রতিটি অক্ষরের শূন্য-ভিত্তিক সূচক ব্যবহার করে সংশ্লিষ্ট কোড পৃষ্ঠাটিকে মান হিসাবে নির্ধারণ করুন output qwertzuiopasdfghjklyxcvbnmQWERTZUIOPASDFGHJউদাহরণস্বরূপ ইনপুটটি উপরের সারণিকে ফল দেয়।

  • উপরের টেবিলের মতো আউটপুট হুবহু একই বিন্যাসে থাকতে হবে। কেবলমাত্র একটি পেছনের নতুন লাইন optionচ্ছিক।
  • যদি ইনপুট দৈর্ঘ্য 16 এর একাধিক না হয় তবে আপনাকে বাকী অক্ষরগুলির জন্য একটি নতুন সারি শুরু করতে হবে এবং অব্যবহৃত ঘরগুলি খালি রেখে দিতে হবে (= 3 স্পেসে ভরা)।
  • প্রতিটি অক্ষর একটি ঘরের ঠিক মাঝখানে স্থাপন করা হয়, বাম এবং ডানদিকে একটি স্থান দ্বারা প্যাড করা।
  • প্রথম সারিতে এবং কলামের মানগুলি হেক্স-সংখ্যা দ্বারা অঙ্কগুলি সহ দেওয়া হয় 0123456789ABCDEF। এগুলি বাম এবং ডানে পাশাপাশি একটি স্থানের সাথে প্যাডযুক্ত। আপনি ছোট ছোট হেক্স-ডিজিট ব্যবহার করতে বেছে নিতে পারেন তবে আপনার একটিতে লেগে থাকা প্রয়োজন।
  • আউটপুটে উপস্থিত কেবলমাত্র অক্ষরগুলি -হিফেন, প্লাস +, পাইপ |, স্পেস , হেক্সাডেসিমাল সংখ্যার জন্য অঙ্ক এবং ইনপুট থেকে অক্ষর the
  • যে কোনও বিল্টিনগুলি যা ASCII- আর্ট টেবিলের সাথে সম্পর্কিত বা কোনওভাবেই সমস্যাটিকে তুচ্ছ করা নিষিদ্ধ।
  • আপনি ধরে নিতে পারেন ইনপুটটিতে একটি নির্দিষ্ট এনকোডিংয়ের অক্ষরগুলিই থাকে। যদি এটি হয় তবে নির্দিষ্ট করুন is
  • যদি আপনার ভাষা কেবল ASCII ইনপুট পরিচালনা করতে পারে তবে আপনি ASCII- কেবল ইনপুট এবং পুনরাবৃত্তি অক্ষরগুলি ধরে নিতে পারেন।

বিধি

শুভ কোডিং!


আমরা কি ছোট হাতস ডিজিট ব্যবহার করতে পারি?
ডুরকনব

@ ডুরকনব হ্যাঁ, এটি চ্যালেঞ্জের মধ্যে পরিষ্কার করেছেন।
ডেনকার

1
আমরা কি অনুমান করতে পারি যে ইনপুটটি ASCII (সম্ভবত পুনরাবৃত্ত অক্ষরের সাথে)?
লুইস মেন্ডো

@ ডেনারএফএটি "অনন্য" শব্দের সাথে বা "255" এর সাথে 16-255 স্বতন্ত্র চরিত্রের স্ট্রিং দিয়ে দ্বন্দ্ব করবে , যদিও ...
লুইস মেন্ডো

1
@ লুইস মেন্ডো হুঁ হ্যাঁ, এটি সত্য। যে ভাষাগুলি কেবল ASCII পরিচালনা করতে পারে তার জন্য এটি অনুমতি দেবে।
ডেনকার

উত্তর:


7

পাইথ, 60 বাইট


K+*"+---"hJ16\+Vm++"| "j" | "d" |"+]+]d.HMJ.e+.Hk.[bdJczJNK

শীর্ষস্থানীয় নিউলাইনটি তাৎপর্যপূর্ণ।

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


আপনি কি পরিবহিত কোডটি দেখাতে পারবেন?
ক্যালকুলেটরফলাইন

@ ক্যাটস আরেফ্লুফি কেবলমাত্র অনলাইন অনুবাদকরে ডিবাগ মোড সক্ষম করুন।
ডেনকার

নিউলাইন কী করে?
ফাঁস নুন

@ আদনান ওফস, এটি আমার পক্ষ থেকে একটি তদারকি ছিল। স্থির, ধন্যবাদ।
ডুরকনবব

@ কেনি লাউ এটি প্রথম মুদ্রণ করে +---+---+---[...]। পাইথ-এ, নিউলাইন ফাংশন প্রিন্ট করে এবং তার যুক্তিটি ফিরিয়ে দেয়।
ডুরকনবব

5

পাইথন 3.5, 326 355 বাইট:

( +29 বাইটস যেহেতু শেষ সারির দৈর্ঘ্য 16 এর একাধিক না হলে অব্যবহৃত কোষগুলি খালি রেখে দেওয়া উচিত (যদিও আমার মতে, খালি ঘরগুলি কেবল দেখানো না হলেও এটি আরও ভাল দেখাচ্ছে) )

def f(r):o=' 0123456789ABCDEF';r=[r[0+i:16+i]for i in range(0,len(r),16)];print('+---'*17+'+\n|',end='');[print(' {} |'.format(h),end='')for h in o];print(''.join([str(e+' | ')if e.isdigit()or e.isalpha()else str(e)for e in''.join([str('\n'+'+---'*17+'+\n| '+x[0]+x[1])for x in zip(o[1::1],r)])]),end='');print('  |'+'   |'*(15-len(r[-1]))+'\n'+'+---'*17+'+')

একটি যাদুমন্ত্র মত কাজ করে!

নমুনা ইনপুট এবং আউটপুট:

Input: 'hopper'

Output:

    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
    |   | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
    | 0 | h | o | p | p | e | r |   |   |   |   |   |   |   |   |   |   |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

Input: 'honkhonkhonkhonkhonk'

Output:

    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
    |   | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
    | 0 | h | o | n | k | h | o | n | k | h | o | n | k | h | o | n | k | 
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
    | 1 | h | o | n | k |   |   |   |   |   |   |   |   |   |   |   |   |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

Input: 'hi'

Output: 

    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
    |   | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
    | 0 | h | i |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

আমি আশা করি এটি ঠিক আছে।

এছাড়াও, আমি এই চ্যালেঞ্জটির জন্য আমি তৈরি করেছিলাম এমন আরও একটি সংস্করণ, যা যদিও এটি একটি অবৈধ প্রার্থী, যেহেতু এটি শেষ সারির জন্য অতিরিক্ত খালি ঘরগুলি মুদ্রণ করে না, যদি এর দৈর্ঘ্য একাধিক 16 না হয়, তবে আমার মতে আরও ভাল পৃষ্ঠাগুলি দেখা যাচ্ছে ওপি দ্বারা প্রয়োজনীয় সংস্থাগুলির চেয়ে মূলত এটি যদি খালি সেলগুলি প্রদর্শন করে না তবে যদি শেষ সারিটি 16 এর একাধিক না হয় তবে পরিবর্তে কেবল পরিপূর্ণ ঘরগুলি দেখায় এবং এটি হ'ল:

def f2(r):o=' 0123456789ABCDEF';r=[r[0+i:16+i]for i in range(0,len(r),16)];print('+---'*17+'+\n|',end='');[print(' {} |'.format(h),end='')for h in o];print(''.join([str(e+' | ')if e.isdigit()or e.isalpha()else str(e)for e in''.join([str('\n'+'+---'*17+'+\n| '+x[0]+x[1])for x in zip(o[1::1],r)])]));print('+---'*(len(r[-1])+1)+'+')

উপরে প্রয়োগযোগ্য কোডের জন্য এখানে একটি নমুনা ইনপুট এবং আউটপুট দেওয়া আছে:

Input: 'ggreuuobgugoubgoubguorgoruguor'

Output:

    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
    |   | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
    | 0 | g | g | r | e | u | u | o | b | g | u | g | o | u | b | g | o | 
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
    | 1 | u | b | g | u | o | r | g | o | r | u | g | u | o | r | 
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

    (As you can see, there are no empty cells shown in the entire table. This looks much better to me.)

" যদি ইনপুট দৈর্ঘ্য ১ 16 এর একাধিক না হয়, আপনার অবশিষ্ট অক্ষরগুলির জন্য একটি নতুন সারি শুরু করতে হবে এবং অব্যবহৃত ঘরগুলি খালি ছেড়ে দিতে হবে (= 3 টি স্পেসে ভরা) "
Le

@ কেনিলাউ আহ, হ্যাঁ আমি তা দেখিনি। ডাং ... সম্পাদনা এখন চলছে। সত্যি বলতে গেলে, ওপি শোগুলির চেয়ে এটি আরও ভাল দেখাচ্ছে, আপনি কি ভাবেন না?
আর কাপ,

কেন ডাউন ভোট?
আর কাপ,

@ আর কেপ আমি আপনাকে বেশ কিছু বলতে পারিনি, তবে এখানে একটি উত্সাহ
বিড়াল


1

জাভাস্ক্রিপ্ট (ES6), 148 বাইট

s=>(s=' 0123456789ABCDEF'+s+' '.repeat(15)).match(/(?!^).{16}/g).map((t,i)=>d+`+
| `+[s[i],...t].join` | `,d=`+---`.repeat(17)).join` |
`+` |
${d}+`

' 0123456789ABCDEF'প্রথম কলামটি নিয়ে আসতে 'বিদ্যমান, কিন্তু সুবিধামত এছাড়াও প্রথম সারিতে জুড়ে। ইনপুট স্ট্রিংটি ফাঁক দিয়ে প্যাড করা হয় যাতে এটি দৈর্ঘ্যের 16 টি সাবস্ট্রিংগুলিতে বিভক্ত হতে দেয়, (?|^)যাতে অগ্রণী স্থানটি ম্যাচ হওয়া থেকে বিরত থাকে। বাকি শুধু টুকরা আপ যোগ হয়।


1

এক্সেল ভিবিএ, 157 বাইট (প্রতারণা?)

অজ্ঞাতনামা VBE তাত্ক্ষণিক উইন্ডো ফাংশন যা ধ্বংসাত্মকভাবে পরিসীমা [A1]এবং আউটপুট থেকে ActiveSheetঅবজেক্টে ইনপুট নেয় ।

Golfed

[B1:Q1]="=Dec2Hex(Column(B1)-2)":L=[Len(A1)]:For i=0To l:Cells(Int(i/16)+2,i Mod 16+2)=Mid([A1],i+1,1):Next:For i=1To Int(l/16)+1:Cells(i+1,1)=i:Next:[A1]=""

বিন্যাসকৃত

[B1:Q1]="=Dec2Hex(Column(B1)-2)"
L=[Len(A1)]
For i=0To l:Cells(Int(i/16)+2,i Mod 16+2)=Mid([A1],i+1,1):Next
For i=1To Int(l/16)+1:Cells(i+1,1)=i:Next
[A1]=""

ইনপুট আউটপুট

প্রদত্ত:

[A1]="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJ"

উত্পন্ন আউটপুট হয়

টেবিল জিনিস


প্রোবগুলি বৈধ নয়, তবে যাইহোক শীতল করুন। এটি আরও অনুরূপ করতে (তবে এখনও অবৈধ?) আপনার উপযুক্ত সেল বোর্ডারগুলি চালু করা উচিত।
লন্ডন হোয়াইট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.