কলম আনারস অ্যাপল পেন… আপনার নিজের কলম, আনারস এবং আপেল সহ


16

প্রস্তাবনা:

এই চ্যালেঞ্জটি "অন্য বিড়াল প্রোগ্রাম" থেকে পৃথক।
বিভিন্ন ট্যুইস্টের আক্ষরিক টন রয়েছে, লোকেরা কেন আমার নিজের থাকতে পারে না?
অনন্য জিনিস:

  • এটি আউটপুটে সরাসরি ইনপুট পড়ছে না।
  • এটি স্ট্রিংটি এমনভাবে চালিত করছে যে নিশ্চিতভাবে কোনও স্ট্রেট-আপ বিড়াল নয়।

চ্যালেঞ্জ:

প্রদত্ত 3 ইনপুট (বা একটি ইনপুট, তবে আপনি পছন্দ করেন আলাদা করুন) তিনটি অবজেক্ট (শব্দ) পান যা আমরা গানের কথা এবং আউটপুটে কলম, আনারস এবং আপেলের বিকল্প হিসাবে যাচ্ছি।

আউটপুট ফর্ম্যাট ( এজেডলিরিক্সে পাওয়া গানের অনুসারে ):

ধরে নিচ্ছি (এর সাথে বন্ধনী সহ মানগুলি প্রতিস্থাপন করুন):

  • এ, বি, সি ইনপুট শব্দের সাথে (উদা। apple)
  • ইউএ, UB বড় হাতের প্রথম অক্ষর ইনপুট শব্দের সঙ্গে ইউসি (যদি না বড়হাতের ইতিমধ্যে) (প্রাক্তন। Apple)
  • যথাক্রমে প্রথম বড় হাতের অক্ষরের সাথে FUA, FUB, FUC: (প্রাক্তন A)
  • প্রথম অক্ষর স্বর / ব্যঞ্জনবর্ণ সম্পর্কিত প্রবন্ধের সাথে একটি (প্রাক্তন an)
[FUA] - [FUB] - [ফুচ] - [FUA]

আমার কাছে [ক / আন] [এ] আছে, আমার কাছে [এ / আন] [সি] রয়েছে।
উহ! [ইউসি] - [ইউএ]

আমার কাছে [ক / আন] [এ] আছে, আমার কাছে [ক / আন] [বি] রয়েছে।
উহ! [UB] - [ইউএ]

[ইউসি] - [ইউএ], [ইউবি] - [ইউএ]।
উহ! [ইউএ] - [UB] - [ইউসি] - [ইউএ]।
[ইউএ] - [UB] - [ইউসি] - [ইউএ]

পরীক্ষা ক্ষেত্রে:

সাহায্যে পরীক্ষা pen, pineappleএবং apple:

P-P-A-P

I have a pen, I have an apple.
Uh! Apple-Pen!

I have a pen, I have a pineapple.
Uh! Pineapple-Pen!

Apple-Pen, Pineapple-Pen.
Uh! Pen-Pineapple-Apple-Pen.
Pen-Pineapple-Apple-Pen!

নিয়মাবলী:

  • যদি ইনপুট কোনও অক্ষর দিয়ে শুরু না হয় তবে ব্যঞ্জনবর্ণ ( a) ধরে এবং প্রথম অক্ষরটি প্রথম অক্ষর (প্রাক্তন 123 -> 1) হিসাবে ধরে নিন।
  • , সর্বনিম্ন পরিমাণের অক্ষর জয়!

1
যাক আমরা কলম, আনারস এবং 1 পিপল ইনপুট করি; আমাদের কি কেবল ব্যঞ্জনাটিকে প্রথম পংক্তির পিপিএপির জন্য ধরে নেওয়া উচিত বা '1pple' এর অন্যান্য উদাহরণগুলিও 'অ্যাপল' তে পরিবর্তন করা উচিত?
অফিসিয়ালাইম

@ অফিসিয়ালাইম, সম্পাদনা করবে, প্রথম অক্ষর ধরে নিবে (আপনার ক্ষেত্রে 1)।
n4melyh4xor

13
আমি এটা গুগল করা উচিত ছিল না। এখন, এটি আমার মাথায় আটকে আছে
__-

1
একটি / বিধিটি ব্যঞ্জনবর্ণ / স্বরগুলিকে অক্ষর নয় বলে মনে করে । উদাহরণস্বরূপ, যদি আপনি লিখতে একটি ব্যবহারকারী না একজন ব্যবহারকারী । এটি সঠিকভাবে পাওয়া শক্ত হবে, যদি না আমরা এই চ্যালেঞ্জের জন্য "প্রকৃত" নিয়মটি উপেক্ষা করি এবং কেবল প্রথম অক্ষরটি না দেখি। সেক্ষেত্রে আপনার বর্ণগুলি স্বর হিসাবে বিবেচনা করা উচিত তা নির্দিষ্ট করা উচিত।
ডেনিস

@ ডেনিস, আপাতত উপেক্ষা করবেন।
n4melyh4xor

উত্তর:


10

জাভাস্ক্রিপ্ট (ES6), 217 ... 187 183 বাইট

3 টি স্ট্রিংয়ের অ্যারের হিসাবে ইনপুট নেয় ['pen', 'pineapple', 'apple']

a=>`0-1-2-0

6, 895-3!

6, 794-3!

5-3, 4-393-4-5-3.
3-4-5-3!`.replace(/\d/g,n=>[u=(w=a[n%3])[0].toUpperCase(),u+w.slice(1),`I have a${~'AEIOU'.search(u)?'n':''} `+w,`.
Uh! `][n/3|0])

উদাহরণ


3
'golf', 'puzzle', 'code'আইএমএইচও
নীল


3

ব্যাচ, 494 490 বাইট

@echo off
set s=%1
set t=%2
set u=%3
call:u %s:~,1%- %t:~,1%- %u:~,1%- %s:~,1%
echo(
call:h %1 %3
call:u Uh! %3- %1!
echo(
call:h %1 %2
call:u Uh! %2- %1!
echo(
call:u %3- %1, %2- %1.
call:u Uh! %1- %2- %3- %1.
call:u %1- %2- %3- %1!
exit/b
:h
set s=I have a %1, I have a %2.
for %%v in (a e i o u)do call set s=%%s:a %%v=an %%v%%
echo %s%
exit/b
:u
set s= %*
for %%u in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z)do call set s=%%s: %%u= %%u%%
echo%s:- =-%

ব্যাখ্যা: :hসাবরুটিন লাইন পরিচালনা গুলি উপযুক্ত কমান্ড লাইন আর্গুমেন্ট থেকে প্রতিস্থাপিত হয়, এবং তারপর স্ট্রিং , , , এবং সমতুল্য প্রতিস্থাপন হয় সংস্করণ। সাবরুটিন অন্যান্য লাইনের পরিচালনা; এটি প্যারামিটার শব্দ এবং প্রথম অক্ষরের উপরের অক্ষর লাগে। (প্রথম শব্দের উপরের অক্ষরটিকে অনুমতি দেওয়ার জন্য একটি অতিরিক্ত স্থানের উপসর্গ করা হয় তবে এটি আউটপুট এ সরিয়ে ফেলা হয়)) এর পরে শব্দগুলি পরিচালনা করতে অতিরিক্ত স্পেসগুলি পাস হয়ে গেলেও সেগুলি আউটপুট থেকেও মুছে ফেলা হয়। সাবরুটিন এছাড়াও, প্রথম লাইন জন্য ব্যবহৃত যদিও আদ্যক্ষর আহরণের বিশ্রী হয়।I have a %, I have a %.%a aa ea ia oa uan:u-:u


3

পাইথন 3.6 - 351 287 286 বাইট

def x(a,b,c):t=(a,b,c);p,q,r=('a'+'n'*(i[0]in'aeiouAEIOU')for i in t);A,B,C=map(str.title,t);print(f"""{A[0]}-{B[0]}-{C[0]}-{A[0]}

I have {p} {a}, I have {r} {c}.
Uh! {C}-{A}!

I have {p} {a}, I have {q} {b}.
Uh! {B}-{A}!

{C}-{A}, {B}-{A}.
Uh! {A}-{B}-{C}-{A}.
{A}-{B}-{C}-{A}!""")

স্ট্রিং আক্ষরিক বিন্যাসের নতুন বৈশিষ্ট্যটি ব্যবহার করা ছাড়া এখানে অভিনব কিছু নেই।

ইনপুট:
গুলি ( 'গলফ', 'ধাঁধা', 'কোড')
আউটপুট:
GPCG

আমার একটা গল্ফ আছে, আমার একটা কোড আছে
উহ! কোড-গলফ!

আমার একটা গল্ফ আছে, আমার ধাঁধা আছে।
উহ! ধাঁধা-গলফ!

কোড-গল্ফ, ধাঁধা-গল্ফ
উহ! গলফ-ধাঁধা-কোড-গলফ।
গলফ-ধাঁধা-কোড-গলফ!
 

দ্রষ্টব্য - সংস্করণটি 3.6যেখানে স্ট্রিং আক্ষরিক বিন্যাস চালু হয়েছিল । সুতরাং, এটি পূর্ববর্তী সংস্করণগুলিতে কাজ করবে না।


নিশ্চিত নয়, তবে যেহেতু আপনি ইতিমধ্যে আপনার দীর্ঘ স্ট্রিংয়ে ইনডেন্টিং করছেন তাই আমি মনে করি আপনি প্রকৃত অক্ষরগুলি ব্যবহার করতে পারেন \ n এবং ট্রিপল উদ্ধৃতিগুলি এড়িয়ে যেতে সক্ষম হবেন।
nedla2004

@ nedla2004 '' n 'ব্যবহার করা আসলে দীর্ঘ হবে। স্কিপিং "কেবল 2 বাইট সংরক্ষণ \nকরবে, তবে 12 বাইট যুক্ত করবে।
গুরুপদ মামাদাপুর

1

লুয়া, 615 607 বাইট

8 জন বাইট সংরক্ষণ করেছেন [একজন অনামী ব্যবহারকারী] এর জন্য ধন্যবাদ

হুই, লম্বা। এখানে চেষ্টা করুন।

w=io.read a,b,c=w(),w(),w()function d(u)if ("aeiouAEIOU"):find(z(u))~=nil then return "an" else return "a" end end function z(y)return y:sub(1,1):upper()end f=z(c)..c:sub(2).."-"..z(a)..a:sub(2).."-"..z(b)..b:sub(2).."-"..z(a)..a:sub(2)print(z(a).."-"..z(b).."-"..z(c).."-"..z(a).."\n\nI have "..d(a).." "..a..", I have "..d(c).." "..c..".\nUh! "..z(c)..c:sub(2).."-"..z(a)..a:sub(2).."!\n\nI have "..d(a).." "..a..", I have "..d(b).." "..b..".\nUh! "..z(b)..b:sub(2).."-"..z(a)..a:sub(2).."!\n\n"..z(c)..c:sub(2).."-"..z(a)..a:sub(2)..", "..z(b)..b:sub(2).."-"..z(a)..a:sub(2)..".\nUh! "..f..".\n"..f.."!")

আমি নিশ্চিত 100% এটি ছোট করা যেতে পারে। আমি শুধু অলস ..

মূলত ব্যবহার অনেক স্ট্রিং ম্যানিপুলেশন করুন। এখানে 3 টি প্রধান ফাংশন এবং একটি ভেরিয়েবল রয়েছে:

  • d(string): স্ট্রিং স্বর ( AEIOUaeiou) হলে একটি প্রদান করে , অন্যথায় একটি প্রদান করে
  • z(string): বড় হাতের অক্ষরে প্রথম অক্ষর প্রদান করে
  • z(s) .. s:sub(2): পুরো শব্দটি ফেরত দেয়, তবে প্রথম অক্ষরের বড় হাতের অক্ষর
  • f: শেষ শব্দ (একটি পরিবর্তনশীল, কিছু বাইট সংরক্ষণ করতে)। আপনার পরীক্ষার ক্ষেত্রে, এটি হবে Pen-Pineapple-Apple-Pen

ইনপুট: pen, pineapple,apple

আউটপুট:

P-P-A-P

I have a pen, I have an apple.
Uh! Apple-Pen!

I have a pen, I have a pineapple.
Uh! Pineapple-Pen!

Apple-Pen, Pineapple-Pen.
Uh! Pen-Pineapple-Apple-Pen.
Pen-Pineapple-Apple-Pen!

1
আনোন ব্যবহারকারী যার কাছে ছিলেন: দয়া করে গল্ফ লোকের কোডে সম্পাদনা করবেন না। (কেবলমাত্র তারা ফিরে আসার ক্ষেত্রে)
Rɪᴋᴇʀ

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