এই মত প্রিন্ট করুন


17

একটি প্রোগ্রাম লিখুন যা STDIN এ একটি ইনপুট নেয় এবং সমস্ত ছোট হাতের অক্ষরকে (উচ্চারণের অক্ষর সহ) 2k-1তম শব্দের বড় হাতের এবং সমস্ত বড় হাতের অক্ষর (এছাড়াও উচ্চারণের অক্ষর সহ) 2kতম শব্দের ছোট অক্ষরে ( kএকটি ধনাত্মক পূর্ণসংখ্যার) হয় makes প্রোগ্রামটি কোনও কথায় অন্য কোনও অক্ষরকে প্রভাবিত করবে না। উদাহরণস্বরূপ, যদি স্ট্রিং হয় Ook! O0k!তবে আউটপুটটি হওয়া উচিত OOK! o0k!

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

নমুনা ইনপুট (বিভিন্ন ইনপুট একটি ফাঁকা নিউলাইন দ্বারা পৃথক করা হয়)

Nineteen Eighty-Four (1984)

Programming Puzzles & Code Golf   - 
Hooray for Code Golf Stack Exchange!

     2be or not 2be, that is the ~~~QuEsTiOn~~~

++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.

নমুনা আউটপুট

NINETEEN eighty-four (1984)

PROGRAMMING puzzles & code GOLF   - 
HOORAY for CODE golf STACK exchange!

     2BE or NOT 2be, THAT is THE ~~~question~~~

++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.

এটি কোড গল্ফ, ফেলা। স্ট্যান্ডার্ড সিজি বিধি প্রযোজ্য। বাইটস মধ্যে সংক্ষিপ্ততম প্রোগ্রাম।


আমি পুরোপুরি নিশ্চিত যে আমি হোয়াইটস্পেস এবং নন-অক্ষরের চরিত্রগুলি সম্পর্কিত সমস্ত লুফোলগুলি coveredেকে রেখেছি, তবে আমি যদি কিছু মিস করি তবে দয়া করে আমাকে বলুন।


নিম্নলিখিত কোড স্নিপেট তৈরি করার জন্য @ অপ্টিমাইজারকে ধন্যবাদ । ব্যবহার করতে, "কোড স্নিপেট দেখান" ক্লিক করুন, নীচে স্ক্রোল করুন এবং "কোড স্নিপেট চালান" ক্লিক করুন।


5
উচ্চারণযুক্ত চরিত্রগুলি সম্পর্কে কী? আমাদের কি এড়িয়ে যেতে হবে? ফাংশন অনুমোদিত?
ডাউনওয়েট

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

আমাদের কোন শ্বেতক্ষেত্রের অক্ষরগুলির জন্য অ্যাকাউন্ট করতে হবে? আমরা কি ধরে নিতে পারি যে শ্বেতস্থান অক্ষরগুলি মুদ্রণযোগ্য হবে?
ডেনিস

সমস্ত সাদা জায়গা, এবং হ্যাঁ।
আর্কটরাস

উত্তর:


4

ভিম স্ক্রিপ্ট, 22 21 বাইট

nm Q vEUWvEuWQ|norm Q

ব্যাখ্যা:

প্রথম কমান্ডটি এতে মানচিত্র Qকরে:

vEUবড় হাতের শব্দটি
Wপরের শব্দে যান
vEuশব্দ লোয়ারকেস
Wপরের শব্দ
Qপুনরাবৃত্তি পুনরাবৃত্তি ম্যাপিং যান

এবং |norm Qম্যাপিং কার্যকর করে

প্রোগ্রামটির ব্যবহার

এভাবেই আপনি স্টিমিনের কাছ থেকে ভিমকে পড়তে পান:

$ vim - -c 'nm Q vEUWvEuWQ|norm Q'
Vim: Reading from stdin
This is the first line!
This is the second line!
This is the third and last line I type to check if this works!
^D

এটি প্রদর্শিত এই ভিম খুলবে :

THIS is THE first LINE.
this IS the SECOND line.
THIS is THE third AND last LINE i TYPE to CHECK if THIS works!
~
~
~

6

জিএনইউ সেড, ২৮

স্কোরটিতে -rzজিএনইউ সেটে পাসের জন্য +2 অন্তর্ভুক্ত রয়েছে ।

s/(\S+\s*)(\S*)/\U\1\L\2/g

টেস্ট আউটপুট

$ for t in 'Nineteen Eighty-Four (1984)' \
> 'Programming Puzzles & Code Golf   - 
> Hooray for Code Golf Stack Exchange!' \
> '     2be or not 2be, that is the ~~~QuEsTiOn~~~' \
> '++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.'; do
> echo "$t" | sed -zrf PRINTlikeTHIS.sed
> done
NINETEEN eighty-four (1984)
PROGRAMMING puzzles & code GOLF   - 
HOORAY for CODE golf STACK exchange!
     2BE or NOT 2be, THAT is THE ~~~question~~~
++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
$ 

5

পার্ল, 26 বাইট

25 বাইট কোড + 1 বাইট কমান্ড লাইন

s/\S+/++$i%2?uc$&:lc$&/eg

কয়েকটা বাগ ঠিক করার জন্য এইসুইটসআইবল্যাকটকে ধন্যবাদ!

ব্যবহার:

perl -p entry.pl

3

পাইথ, 23

jdmjbmrk=xZ!!kcdbcjb.zd

এটি অনলাইনে ব্যবহার করে দেখুন বা পরীক্ষার স্যুটটি চালান

Pyth এর মধ্যে পরিবর্তন ঘটান lowerএবং upperফাংশন, যা r...0বা r...1। এটি সম্ভবত ইউনিকোড অক্ষরগুলিকে প্রভাবিত করবে, পরিবর্তনের জন্য ওপি স্পষ্টকরণের জন্য অপেক্ষা করবে।

আমি মনে করি কিছু গল্ফযোগ্য হতে হবে। কোনটি upper/ lowerব্যবহার করা উচিত তার উপর স্যুইচ পরিবর্তন করার জন্য বিশেষত XOR ।


যদি আমি প্রশ্নটি সঠিকভাবে ব্যাখ্যা করি তবে ইনপুটটি A\nBমুদ্রণ করা উচিত A\nb
ডেনিস

এটি প্রশ্নের সঠিক ব্যাখ্যা নয়। A new word is formed when there is a nonzero amount of whitespace after a non-whitespace character.আউটপুট A\nBহয় A\NB। তবে মনে হচ্ছে আপনার সিজেএএম উত্তরটি এটি সঠিকভাবে পেয়েছে।
আর্কটরাস

@ ডেনিস ধন্যবাদ, এখনই ঠিক করা উচিত।
FryAmTheEggman

2

পার্ল, 87 বাইট

নিয়মিত প্রকাশ এবং mapকিছুক্ষণের জন্য স্ক্রু করার পরেও আমি একটি মার্জিত সমাধান নিয়ে আসতে পারিনি, সুতরাং এটিই ফলাফল:

@a=split(" ",lc(<>));while($i<=$#a/2){@a[$i*2]=uc(@a[$i*2]);$i++;}print(join(" ", @a));

1
সুন্দর সমাধান। কিছু বাইট সংরক্ষণ করতে <> ডিস্টিন> <> দিয়ে প্রতিস্থাপন করা যাবে? এছাড়াও, $ i = 0 এড়িয়ে যেতে পারে?
স্টিভ

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

1
@ কোডফান 64 পিপিসিজিতে আপনাকে স্বাগতম! পার্লে যেমন alচ্ছিক হওয়ায় আপনি আরও বেশি বাইটস সঞ্চয় করতে আপনার বেশিরভাগ বন্ধনী ছেড়ে যেতে পারেন eg lc(<>), হতে পারে lc<>এবং আপনার জন্য একটি স্টেটমেন্ট মডিফায়ার ব্যবহার করে whileআপনাকে প্যারেনেসিসকেও এড়াতে দেয় যেমন উদাঃ। print$i++while$i<10বনাম while($i<10){print$i++}পার্লের গল্ফিংয়ের জন্য
ডম হেস্টিংস


2

জাভাস্ক্রিপ্ট ES6, 74 71 বাইট

.toUpperCase()এবং .toLowerCase()একেবারে বাইট গণনা জবাই (32 বাইট 0.o যোগ)। বেশিরভাগ কাজের আশেপাশে আরও বাইট থাকলেও শেষ হয়

s=>s.replace(/(\S+\s*)(\S*)/g,(_,a,b)=>a.toUpperCase()+b.toLowerCase())

1

গ্রোভি, 108 125 120

System.in.eachLine{def b;it.split(" ").any{if(!it.empty)b=!b;print "${b?it.toUpperCase():it.toLowerCase()} "};println()}

আমি যতটা পরিষ্কার আশা করেছিলাম তেমন পরিষ্কার নয়, যা আমার গ্রোভির উত্তরগুলির সাথে একটি থিম বলে মনে হচ্ছে।

  • শীর্ষস্থানীয় হোয়াইটস্পেসের সাথে আচরণ স্থির করতে +17
  • -র পিছনে থাকা নতুন লাইনটি সরাতে এবং .isEmpty () থেকে .empty এ স্যুইচ করার জন্য

 

$ cat tests.txt 
Nineteen Eighty-Four (1984)

Programming Puzzles & Code Golf   - 
Hooray for Code Golf Stack Exchange!

     2be or not 2be, that is the ~~~QuEsTiOn~~~

++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
$ groovy PRINTlikeTHIS.groovy < tests.txt 
NINETEEN eighty-four (1984) 

PROGRAMMING puzzles & code GOLF   - 
HOORAY for CODE golf STACK exchange! 

     2BE or NOT 2be, THAT is THE ~~~question~~~ 

++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++. 


1

পাইথন 3, 103 95 বাইট

print(' '.join(b.lower()if a%2 else b.upper()for a,b in enumerate(input().strip().split(' '))))

আপনি [b.upper(),b.lower()][a%2]4 বাইট সংরক্ষণ করে শর্তসাপেক্ষে প্রতিস্থাপন করতে পারেন (ধরে নিলাম মোবাইলে আমি সঠিকভাবে গণনা করেছি)।
পুরক্কা কুডারী

1

স্টাটা, 252 বাইট

insheet using a.b
g b=word(v,1)
gl c=0
forv x=1/`=_N'{
loc d=1
while b[`x']!=""{
if !$c replace v=subinword(v,b,upper(b),1) if `x'==_n
if $c replace v=subinword(v,b,lower(b),1) if `x'==_n
loc ++d
replace b=word(v,`d') if `x'==_n
gl c=1-$c
}
di v[`x']
}

Ab নামক CSV ফাইল (এক কলাম) হিসাবে ইনপুট আশা করে

ব্যাখ্যা:

এতে ডেটা পড়ুন (ডিফল্ট ভেরিয়েবলের নাম v1, ছোট থেকে কম v)। প্রতিটি লাইনের জন্য v এর প্রথম শব্দের (স্পেস পৃথক টোকেন) সমান একটি নতুন ভেরিয়েবল বি তৈরি করুন। প্রতিটি লাইনের জন্য, যখন পরবর্তী শব্দটি খালি না থাকে (কেবলমাত্র সেই রেখায় কোনও অক্ষর না থাকলে কেবল হয়), বর্তমান লাইনে সেই শব্দের উপরের বা লোয়ার কেস সংস্করণের সাথে v শব্দটি প্রতিস্থাপন করুন, কতটি (মড 2) উপর নির্ভর করে ) শব্দ ইতিমধ্যে পাওয়া গেছে। তারপরে পরবর্তী শব্দটি পান এবং পুনরাবৃত্তি করুন। এটি শেষ হলে পুরো লাইনটি মুদ্রণ করুন।


1

ডেলফি, 290 বাইট

program P;uses SysUtils;var s:string;i:word;w:byte;f:boolean;begin repeat readln(s);w:=0;f:=false; for I:=1 to length(s) do begin if s[i]>' ' then begin if w=0 then f:=not f;w:=1;if f then s[i]:=uppercase(s[i])[1] else s[i]:=lowercase(s[i])[1] end else w:=0 end;writeln(s)until false;end.

গল্ফ করার জন্য আসলেই ভাল ভাষা নয় ...


প্রোগ্রামিং ধাঁধা এবং কোড গল্ফ স্বাগতম!
ডেনিস

1

লুয়া, 88 বাইট

a=io.read():gsub("%g+",function(s)m=not m return m and s:upper()or s:lower()end)print(a)

1

সিজেম, 28 বাইট

q{C' >Sc'!<*X^:XCelCeu?:S}fC

আমি বর্তমানে প্রথম 33 এএসসিআইআই / ইউনিকোড অক্ষর (এবং শুধুমাত্র সেইগুলি) সাদা স্থান বিবেচনা করছি। আমি এটি বৈধ কিনা তা জানতে স্পষ্টির অপেক্ষায় রয়েছি।

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


1

পাইথ, 17 22 বাইট

FGcwd=+YrG=Z%+1Z2;jdY

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


শীর্ষস্থানীয় স্পেস কেস ব্যর্থ হয় তবে এখনও দুর্দান্ত।
tjbtech

এটি একাধিক লাইনে ইনপুট পরিচালনা করে না এবং একটি স্থানের স্থান ছাপায়।
FryAmTheEggman

আমি যখন পারব তখন রিফ্যাক্টর করব, ধন্যবাদ: ডি
তালি

0

সি #, 104 100 99 বাইট

static void Main(){string.Join(" ","".Split(' ').Select((o,i)=>i++%2==0?o.ToUpper():o.ToLower()));}

এটি দিয়ে 79 বাইট

string.Join(" ","".Split(' ').Select((o,i)=>i++%2==0?o.ToUpper():o.ToLower()));
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.