বর্ণমালা, বর্ণমালা বা কেবল একটি অক্ষর আউটপুট করুন


49

চ্যালেঞ্জটি সহজ:

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

নিয়মাবলী:

  • ইনপুট ফাংশন আর্গুমেন্ট বা STDIN থেকে হতে পারে
  • ইনপুটটি 32 থেকে 126 (স্পেস থেকে টিলডে) প্রিন্টযোগ্য এএসসিআইআই অক্ষরের কোনও হবে।
  • ইনপুটটি উদ্ধৃতি চিহ্নের ভিতরে থাকতে পারে, 'x'বা "x", তবে মনে রাখবেন 'এবং "বৈধ ইনপুট এবং সমর্থন করা উচিত।
  • ইনপুট বর্ণমালার যে কোনও বর্ণ হতে পারে, অর্থাত্ আপনি এটি অনুমান করতে পারবেন না aবা হবে A
  • আউটপুটটি বর্ণমালা বা একক প্রতীকগুলির মধ্যে একটি হতে হবে, তবে নতুন লাইনগুলি ঠিক আছে।
  • বর্ণমালার বর্ণগুলি স্থান, কমা বা অন্য কোনও কিছুর দ্বারা পৃথক করা উচিত নয়।

কিছু উদাহরণ:

F
ABCDEFGHIJKLMNOPQRSTUVWXYZ

z
abcdefghijklmnopqrstuvwxyz

"
"

    <- Input:  Space
    <- Output: Space

বাইট জিতে সংক্ষিপ্ত কোড।


Butচ্ছিক তবে প্রশংসা করা: আপনার ভাষার যদি কোনও অনলাইন দোভাষী থাকে তবে দয়া করে একটি লিঙ্কও পোস্ট করুন যাতে এটি অন্যরা সহজে পরীক্ষা করতে পারে।


লিডারবোর্ড

এই পোস্টের নীচে স্ট্যাক স্নিপেট উত্তরগুলি থেকে ক্যাটালগ তৈরি করে a) ভাষার প্রতি সংক্ষিপ্ত সমাধানের তালিকা হিসাবে এবং খ) সামগ্রিক লিডারবোর্ড হিসাবে।

আপনার উত্তরটি প্রদর্শিত হয়েছে তা নিশ্চিত করার জন্য, দয়া করে নীচের মার্কডাউন টেমপ্লেটটি ব্যবহার করে আপনার উত্তরটি শিরোনাম দিয়ে শুরু করুন:

## Language Name, N bytes

Nআপনার জমা দেওয়ার আকারটি কোথায় ? আপনি যদি নিজের স্কোরটি উন্নত করেন তবে আপনি পুরানো স্কোরগুলি শিরোনামে রেখে দিতে পারেন । এই ক্ষেত্রে:

## Ruby, <s>104</s> <s>101</s> 96 bytes

যদি আপনি নিজের শিরোনামে একাধিক সংখ্যা অন্তর্ভুক্ত করতে চান (যেমন আপনার স্কোর দুটি ফাইলের সমষ্টি বা আপনি পৃথকভাবে দোভাষী পতাকা দণ্ডের তালিকা করতে চান), নিশ্চিত করুন যে আসল স্কোরটি শিরোনামের শেষ সংখ্যা:

## Perl, 43 + 2 (-p flag) = 45 bytes

আপনি ভাষাটির নামটিকে একটি লিঙ্কও তৈরি করতে পারেন যা স্নিপেটে প্রদর্শিত হবে:

## [><>](http://esolangs.org/wiki/Fish), 121 bytes


উদাহরণস্বরূপ আমাদের কি পাইথনের মতো প্যাকেজগুলি আমদানির অনুমতি দেওয়া হয়েছে: import Randomএবং তারপরে ব্যবহার করুন Random.randint(স্পষ্টতই এই চ্যালেঞ্জের জন্য নয় তবে এখনও)?
ড্যানিয়েল

হ্যাঁ, আপনি প্যাকেজ আমদানি করতে পারেন। তবে উদাহরণস্বরূপ লেখার জন্য বাইটগুলি import stringগণনা করা হয়, সুতরাং ওয়ার্কআরউন্ডগুলি করা প্রায়শই ভাল। নোট করুন যে প্যাকেজটি অবশ্যই চ্যালেঞ্জ পোস্ট করার আগে উপস্থিত থাকতে হবে। অনেক চ্যালেঞ্জের মতো কিছু রয়েছে: "এমন প্যাকেজগুলি ব্যবহার করা অনুমোদিত নয়" তবে এই চ্যালেঞ্জের ক্ষেত্রে তা নয়।
স্টিভি গ্রিফিন

আমি ধরে নিচ্ছি যে "দ্বারা উদ্ধৃতিগুলি বৈধ ইনপুট এবং সমর্থিত হওয়া আবশ্যক" আপনি বোঝাতে চাইছেন যে আপনার ইনপুট পদ্ধতিতে যদি উদ্ধৃতিগুলির প্রয়োজন হয় তবে ইনপুট হিসাবে উদ্ধৃতিগুলি পালিয়ে যাবে
সাইয়েস

আমরা কি একটি REPL পরিবেশ ধরে নিতে পারি?
বিড়াল

উত্তর:


22

টিস্ক্রিপ্ট , 5 বাইট

xN(0)

টিস্ক্রিপ্ট এর জন্য একটি (প্রায়) অন্তর্নির্মিত রয়েছে: ডি

এটি অনলাইনে ব্যবহার করে দেখুন (দ্রষ্টব্য: অনলাইন অনুবাদককে টিস্ক্রিপ্ট ভি 3 তে আপডেট করা হয়েছে যাতে এটি এতে রয়েছে N0)

সমস্ত পরীক্ষার কেস চেষ্টা করে দেখুন


টিস্ক্রিপ্ট 3 , 2 বাইট [প্রতিযোগিতামূলক]

টিস্ক্রিপ্ট 3 ব্যবহার করে এটি 2-বাইটে পরিণত হতে পারে। এটি প্রতিযোগিতামূলক নয় কারণ এই চ্যালেঞ্জের পরে টিস্ক্রিপ্ট 3 তৈরি হয়েছিল

N0

1 বাইট বিকল্প

যদি আমরা 0123456789অঙ্কগুলির জন্য আউটপুট করতে পারি , তবে এটি হতে পারে:

°

TeaScript 3 হয় বৈধ। সুতরাং, আপনি এটি ব্যবহার করতে পারেন!
ব্যবহারকারী 75200

27

পাইথ, 10 বাইট

h/#z[GrG1z

পরীক্ষা স্যুট

আমরা 3 টি উপাদান দিয়ে একটি তালিকা তৈরি করে শুরু করি: ছোট হাতের বর্ণমালা, বড় হাতের বর্ণমালা এবং ইনপুট। ( [GrG1z) তারপরে, আমরা এই তালিকাটি ফিল্টার করব ননজেরো উপাদানগুলির ইনপুট উপস্থিতির সংখ্যার উপর। ( /#z) অবশেষে, আমরা ফিল্টার তালিকার প্রথম উপাদানটি নিই।


6
গম্ভীরভাবে, পাইথের কয়েকটি বাইট দিয়ে আপনি কিছু সমাধান করতে পারেন নি? আমার এই ভাষাটি সত্যই শিখতে হবে ..
হেক্সাহোলিক

25
কোন ভাষাটি শিখুন? ... আপনি দুটি নামে উল্লেখ করেছেন। : পি
কুইন্টোপিয়া

2
@ কুইন্টোপিয়া ঠিক আছে, দুজনেই কেন নয়? :)
হেক্সাহোলিক

15

ল্যাবভিউ, 23 ল্যাবভিউ পুরষ্কার

নির্বাচক (সিএসই কাঠামোর উপর?) এমন একটি ভিআইয়ের সাথে সংযুক্ত যা লেক্সিকাল ক্লাস বলে। এটি ইনপুটের উপর নির্ভর করে 1-6 থেকে সংখ্যাগুলি আউটপুট করে, 5 হ'ল লোকেয়ার 4 হয় আপার কেস।

ফর লুপটি 26 বার বর্ণমালা তৈরি করতে বা একবার প্রতীকটি পাস করার জন্য যায়।


4
অনেক বছর আগে ল্যাবভিউয়েজে কাজ করার (অধিকার? দুর্ভাগ্য? আপনি যে সিদ্ধান্ত নিয়েছিলেন) এমন একজন হিসাবে, আপনার উত্তরগুলি আমার দিনকে হাসি দেয়। =)
কর্সিকা

12

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

f c=filter(elem c)[['a'..'z'],['A'..'Z'],[c]]!!0

ব্যবহারের উদাহরণ:

*Main> f 'g'
"abcdefghijklmnopqrstuvwxyz"
*Main> f 'H'
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
*Main> f '\''
"'"

['ক' .. 'জেড'], ['এ' .. 'জেড'] এবং সিঙ্গেলটন তালিকার সমস্ত ইনপুট চরের সাথে তালিকাটি নিন cযেখানে cউপাদান রয়েছে Take চিঠির জন্য আমাদের সর্বদা দুটি ম্যাচ থাকে তাই আমরা প্রথমটি বেছে নিই।


11

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

x=>(a="abcdefghijklmnopqrstuvwxyz",x>"`"&x<"{"?a:x>"@"&x<"["?a.toUpperCase():x)

ব্যাখ্যা

জাভাস্ক্রিপ্ট স্ট্রিংগুলির তুলনা করার সময় প্রতিটি বর্ণের কোড বর্ণের সাথে তুলনা করে, তাই তুলনায় ব্যবহৃত অক্ষরের কোডগুলি অক্ষরের প্রয়োজনীয় ব্যাপ্তির নীচে 1 এবং উপরে থাকে।

x=>(
  a="abcdefghijklmnopqrstuvwxyz", // a = lower-case alphabet
  x>"`"&x<"{"?a:                  // if x is a lower-case letter, output alphabet
  x>"@"&x<"["?a.toUpperCase():    // if x is an upper-case letter, output upper-case
  x                               // else just output x
)

পরীক্ষা


জাভাস্ক্রিপ্টে পুরো বর্ণমালার সাথে একটি স্ট্রিং উত্পাদন করার জন্য এটি কি সবচেয়ে সংক্ষিপ্ততম উপায়? আপনি যদি পুরো মুদ্রণযোগ্য এএসসিআইআই-রেঞ্জটি চান তবে আপনার প্রতিটি অক্ষর টাইপ করতে হবে?
স্টিভি গ্রিফিন

1
@ স্টেভিগ্রিফিন দুঃখজনকভাবে এটিই। শুধুমাত্র অন্যান্য উপায় মত কিছু হবে: for(a="",i=64;++i<91;)a+=String.fromCharCode(i)String.fromCharCodeগল্ফিংয়ের জন্য খুব অনুপযুক্ত, তবে কখনও কখনও এটি একমাত্র উপায়!
ব্যবহারকারী 81655

4
এক্ষেত্রে ভারসাম্যটি (মূক এবং ডাম্বরের) মধ্যে String.fromCharCodeএবং .toUpperCaseতবে toUpperCaseবিজয়ী
edc65

নিস! আমি এটিকে আরও গল্ফ করার কয়েকটি ভিন্ন উপায়ে চেষ্টা করেছি, কিন্তু কার্যকরভাবে খুঁজে পেলাম না। x=>x.replace(/[A-Z]/i,c=>c>"`"?a:a.toUpperCase(),a="abcdefghijklmnopqrstuvwxyz")না, কিন্তু এক বাইট দীর্ঘ। বাদে সব কিছুর [A-Z]জন্য \wকাজ করা হচ্ছে _। আপনার সমাধানটি সবচেয়ে কম সম্ভব বলে মনে হচ্ছে।
ETH প্রোডাকশনগুলি

ABC...abc...?আসল forলুপ ছাড়াই উত্পন্ন করার জন্য এখানে একটি ছোট্ট উপায় : (কিছু প্যাডিং)[for(_ of[...Array(i=64)])if(i++%32<26)String.fromCharCode(i)].join``+x
ইটিএইচ প্রোডাকশনগুলি

8

আর, 90 75 বাইট

a=scan(,'');l=letters;L=LETTERS;cat("if"(a%in%l,l,"if"(a%in%L,L,a)),sep="")

ধন্যবাদ : Giuseppe

পুরানো সংস্করণ (90 বাইট):

a=scan(,'');l=letters;L=LETTERS;if(a%in%l)cat(l,sep="")else if(a%in%L)cat(L,sep="")else a

কুরুচিপূর্ণ দেখায়, কিন্তু catএইগুলি ফাংশনে আউটসোর্স করা যায় না, আইএমএইচও।



By৩ বাইট : 2 য় প্যারামিটার scanটাইপ চরিত্রের যে কোনও অবজেক্ট হতে পারে, আপনি lettersতার পরিবর্তে পারেন ''
রবিন রাইডার

7

পাইথন 3, 92 84 82 74 বাইট

বর্তমান সংস্করণ: ,৪, ইস্যাক এবং ডাব্লুএনএমওকে ধন্যবাদ!

lambda c:(c,''.join(chr(x+(67,97)[c>'Z'])for x in range(25)))[c.isalpha()]

অবহেলিত: (উম্বলিতদের কিছু সংজ্ঞার জন্য)

lambda c:
    (
        c,
        ''.join([chr(x + (67,97)[c > 'Z']) for x in range(25)])
    )
    [c.isalpha()]

প্রথম সংস্করণ: 92

def f(c):print(''.join([chr(x+(97if c>'Z'else 65)) for x in range(25)])if c.isalpha()else c)

দ্বিতীয় সংস্করণ: ৮২, আইএএসএকেগকে ধন্যবাদ! :)

lambda c:''.join(chr(x+(97if c>'Z'else 65))for x in range(25))if c.isalpha()else c

হাই, এবং পিপিসিজিতে আপনাকে স্বাগতম! চমৎকার উত্তর. এখানে একটি গল্ফিং পরামর্শ: আপনি lambda c:একটি সুস্পষ্ট সংজ্ঞা ( def f(c):print() এর পরিবর্তে ল্যাম্বডা এক্সপ্রেশন ( ) ব্যবহার করতে পারেন এবং কিছু বাইট সংরক্ষণ করতে পারেন। এছাড়াও, আপনার আগে জায়গার দরকার নেই for
isaacg

আহ, আমি মুদ্রণের অর্থ "আউটপুট" ধরেছিলাম এবং কেবল ফিরে আসছি না :) ঝরঝরে, যদি এটি হয় তবে এটি 84 এর নিচে নেমে গেছে lambda c:''.join([chr(x+(97if c>'Z'else 65))for x in range(25)])if c.isalpha()else c,। ধন্যবাদ!
কোনেকে

হ্যাঁ, সাইটে আউটপুটটির মানক সংজ্ঞাটি ফাংশন থেকে ফিরে আসার অনুমতি দেয়, তাই আপনি নিজের উত্তরে নতুন সংস্করণটি সম্পাদনা করতে পারেন। আরেকটি গল্ফটি হ'ল বন্ধনীগুলি প্রয়োজনীয় নয় - তালিকাটি বোঝার পরিবর্তে জেনারেটর বোধগম্যতা হিসাবে ফাংশনগুলি তাদের ছাড়াই ঠিক একইভাবে কাজ করে।
isaacg

আহ্, আসলে নতুন জেনারেটর বোঝার আগে ব্যবহার করে নি! আবারও ধন্যবাদ :)
কোনেকে

নোট করুন যে "ফাংশনে ইনপুট দেওয়ার সময় আপনার \"পরিবর্তে প্রয়োজন need
ড্যানিয়েল

6

পাইথন 3, 118 105 98 97 83 বাইট

সহজ সমাধান। সম্পাদনা: এরিক গল্ফারের পরামর্শের জন্য ধন্যবাদ সঙ্গে গল্ফড।

lambda s,a='ABCDEFGHIJKLMNOPQRSTUVWXYZ':(s,(a,a.lower())[s.islower()])[s.isalpha()]

Ungolfed:

def f(s):
 a='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
 if s.isalpha():
  if s.islower():return a.lower()
  else:return a
 return s

1
আপনি কিছু বাইট সংরক্ষণ করতে একটি টের্নারি অপারেটর ব্যবহার করতে পারেন? কিছু একটা return a.lower() if s.islower() else a
ডেভিড রবার্টসন

@ ডেভিডরবার্টসন আমি নিশ্চিত নই যে আপনি আমার সমাধানটি পড়ছেন কিনা, যা কোডের শীর্ষ লাইন, সঠিকভাবে, তবে আমি ঠিক তাই করছি।
শার্লক 9

আহ! আমি অবারিত সংস্করণটি পড়ছিলাম। এর জন্যে দুঃখিত!
ডেভিড রবার্টসন

@ ডেভিডরবার্টসন কোনও সমস্যা নয়
শার্লক 9

গল্ফড:lambda s,a='abcdefghijklmnopqrstuvwxyz':(s,(a,a.upper())[s.isupper()])[s.isalpha()]
এরিক দি আউটগল্ফার

5

পিএইচপি, 62 76 82 বাইট

পিএইচপি এখন ঠিক করছে:

<?=ctype_alpha($x=$argv[1])?join(range(Z<$x?a:A,Z<$x?z:Z)):$x;

কমান্ড লাইন থেকে একটি ইনপুট নেয়, যেমন:

$ php alphabet.php A
$ php alphabet.php "a"
$ php alphabet.php " "
$ php alphabet.php _

সম্পাদনাগুলি

  • সংরক্ষিত 6 বাইট প্রতিস্থাপন 91>ord($x)সঙ্গে Z<$x। জটিল উপায় চিন্তা। মানবিক কাজের জন্য ধন্যবাদ ।
  • সংরক্ষিত 14 বাইট সরিয়ে strtoupperএবং সরাসরি দাবি পরিসর নির্মাণের।

ওটা ord()দেখতে খারাপ লাগছে। ব্যবহার করে দেখুন Z<$x?$a:strtoupper($a)
manatwork

@ মানাটওয়ার্ক হাহা, আমি দ্বিতীয় অংশে জটিল হওয়ার উপায়টি ভেবেছি। এটি উল্লেখ করার জন্য ধন্যবাদ।
insertusernamehere

' '&$x^Aবড় হাতের এবং ছোট এবং একটি এবং z করার চেষ্টা করুন । এটি হ'ল, আপনার কোডটি হয়ে যায়<?=ctype_alpha($x=$argv[1])?join(range(' '&$x^A,' '&$x^Z)):$x;
ইসমাইল মিগুয়েল

@ ইসমাইলমিগুয়েলে এটি ঠিক একই বাইট গণনা হবে।
সন্নিবেশকারী নাম

1
চিন্তা করবেন না - এবং এটি অবলম্বন করার এখনও একটি দুর্দান্ত উপায়। ;)
সন্নিবেশকারী নাম এখানে

5

পার্ল, 46 34 33 বাইট

+2 এর জন্য অন্তর্ভুক্ত -nE

say/[a-z]/?a..z:/[A-Z]/?A..Z:$_

হিসাবে চালান

perl -nE 'say/[a-z]/?a..z:/[A-Z]/?A..Z:$_'

  • @ ডোম হেস্টিংসকেfor ধন্যবাদ, বেনওয়ারওয়ার্ড বাদ দিয়ে এবং 12 টি বাইট ব্যবহার করে 34 আপডেট করুন
  • 33 আপডেট সংরক্ষণ 1 বাইট ব্যবহার -Eএবং sayপরিবর্তে print

@ ডোমহাস্টিংস ধন্যবাদ! জেনে রাখা উচিত যে সেখানে ন্যাওয়ার্ডওয়ার্ডের অনুমতি দেওয়া হয়েছিল - এবং আমার এটি দেখা উচিত ছিল for: - /। পন্থা একটি গুচ্ছ, (চেষ্টা -pসঙ্গে $"='';$_="@_", এমনকি $a='/[a-z]/?a..z:';print eval$a.uc$a.'$_'কিন্তু সবকিছু আর ...
Kenney

এ সম্পর্কে আপনার চিন্তাভাবনা ছিল, আপনি যদি আইং $_=পরিবর্তে সেট করেন printএবং -pপরিবর্তে পতাকা ব্যবহার করেন তবে -nআপনি আরও দুটি সংরক্ষণ করতে পারেন ... আমি এখনও এ পর্যন্ত আরও সংরক্ষণের অন্য কোনও উপায় সম্পর্কে ভাবতে পারি না ...
ডম হেস্টিংস

@ ডোমহাস্টিংস আমি চেষ্টা করেছিলাম, তবে আমি $_কোনও তালিকায় সেট করতে পারি না (যা আমি জানি)। এটি বিভক্ত হতে হবে ( $_="@_") তবে এটি স্থানকে পৃথককারী হিসাবে ব্যবহার করে তাই আমাকেও করতে হবে $"='', (বা একটি ব্যবহার join'',) যা এটি দীর্ঘতর করে তোলে। এই এক খুব বেশি উইগল রুম নেই!
কেনে

হাহ, অবশ্যই! আপনি এমনকি বলেছিলেন যে (যখন আমি পাব না থাকার পরে মন্তব্যটি পুনরায় পড়ি ...) আমি এটি নিয়ে ভাবতে থাকব, তবে আপনি সম্ভবত সবচেয়ে সংক্ষিপ্ত হতে পারেন sayপরিবর্তে ব্যবহার না করেই আপনি পাবেন print!
ডম হেস্টিংস

5

রুবি, 41 + 1 = 42

সুইচ সহ -p, চালান

([*?A..?z]*'').scan(/\w+/){$&[$_]&&$_=$&}

এটি স্ট্রিং উত্পন্ন করে

ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz

এবং "শব্দের অক্ষর" এর প্রতিটি সংক্ষিপ্ত ব্লক পরীক্ষা করে, যা কেবল ছোট হাতের এবং বড় হাতের বর্ণমালা এবং আন্ডারস্কোর চরিত্র হিসাবে ঘটে। যদি জেড এবং এ এর ​​মধ্যে একাধিক টানা শব্দের অক্ষর থাকে তবে এই কৌশলটি কাজ করবে না।

অনুরোধের মাধ্যমে ব্যাখ্যা যোগ করতে সম্পাদিত:

-pপতাকা মূলত করে

while( $_ = STDIN.gets )
  #execute code
  print $_
end

[*?A..?z]ASCII ক্রমে বড় হাতের অক্ষর এবং ছোট হাতের জেডের মধ্যে অক্ষরের অ্যারে। এটি বড় হাতের বর্ণমালা, কিছু অক্ষরবিহীন অক্ষর এবং ছোট হাতের বর্ণমালা। *''অ্যারেটিকে একটি স্ট্রিংয়ে যুক্ত করে, তাই আমরা .scanএটিতে কল করতে পারি। scanনিয়মিত প্রকাশের প্রতিটি মিল খুঁজে পাবে, এটির সাথে /\w+/যাদু ভেরিয়েবলটি $&তৈরি করবে এবং ব্লকটি কল করবে। প্রতিবার যখন ব্লকটি পুনরাবৃত্তি করা হয়, এটি ম্যাচ করা স্ট্রিংয়ের মধ্যে রয়েছে কিনা তা পরীক্ষা করে $_এবং যদি থাকে তবে সেই স্ট্রিংটিতে আউটপুট সেট করে। সুতরাং $ _ যদি বড় হাতের বা ছোট হাতের বর্ণমালায় অন্তর্ভুক্ত থাকে তবে সে অনুযায়ী এটি সংশোধিত হয়, অন্যথায় এটি অপরিবর্তিত।

অবারিত সংস্করণটি দেখতে এমন কিছু দেখাচ্ছে

while ($_ = STDIN.gets )
 %w[ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz].each do |alphabet|
  $_ = alphabet if alphabet.include?($_)
 end
 print $_
end

আপনি কি একটি গলিত সংস্করণ পোস্ট করতে পারেন? আমি এখনও পুরোপুরি বুঝতে পারি না কীভাবে এটি কাজ করে।
শেলভাকু

অবশ্যই, একটি পোস্ট।
হিস্টোক্র্যাট

4

সিজেম, 18 বাইট

'[,65>_elr:R]{R&}=

'[,65>বড় হাতের বর্ণমালা, পাহাড় জমে _elছোট হাতের অক্ষর এবং r:Rএকটি একক গৃহস্থালির কাজ স্ট্রিংটি stdin থেকে পড়া এবং পরিবর্তনশীল নির্ধারিত হয় R। এগুলি একটি অ্যারে ( ]) এ মুড়ে দেওয়া হয় এবং এর সাথে প্রথম যেটির কোনও মিল রয়েছে Rতা ব্যবহার করে বাছাই করা হয় {R&}=


আমি সিজোমকে কীভাবে বোঝার চেষ্টা করছি তবে আমি অফিসিয়াল ডক এবং এখানে যা পড়ছি তার মধ্যে আমি হারিয়ে গেছি। কেউ আমাকে উদাহরণস্বরূপ এমন একটি পৃষ্ঠা দিতে পারেন যেখানে আমি বুঝতে পারি _elযে ছোট হাতের বর্ণমালা কেন ?
এরদল জি।

আহ, এর elঅর্থ "লোয়ারকেসে রূপান্তর"। আমি সবেমাত্র বড় হাতের বর্ণমালা ঠেলেছি, তাই এখন আমি এটির সাথে সদৃশ করব _, তারপরে elফলাফলের অনুলিপিটিতে কল করুন।
লিন

1
আমি একটি দুর্দান্ত পিডিএফ তৈরি করেছি (প্রায়) সমস্ত সিজেএম কমান্ড রয়েছে।
লিন

4

রেটিনা, 62 বাইট

[a-z]
abcdefghijklmnopqrstuvwxyz
[A-Z]
ABCDEFGHIJKLMNOPQRSTUVWXYZ

দুটি সংক্ষিপ্ত রেখাগুলি হ'ল ম্যাচটির জন্য রেজেক্স। যদি ইনপুটটি ছোট হাতের (পরিসীমাতে [a-z]) হয়, তবে এটি সেই অক্ষরটিকে (এই ক্ষেত্রে এটি সম্পূর্ণ ইনপুট) ছোট হাতের বর্ণমালার সাথে প্রতিস্থাপন করে। প্রক্রিয়া বড় হাতের জন্য অনুরূপ। যদি এটি কোনও চিঠি না থাকে তবে কোনও প্রতিস্থাপন করা হয় না এবং এটি আউটচুটেড হয়।

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


4

পাইথন 2.7.10, 95 93 79 বাইট

এটি আমার প্রথমবারের মতো এমনকি গল্ফ করার চেষ্টা করছে, সুতরাং দয়া করে কোনও সহায়তা বা পরামর্শ চূড়ান্তভাবে প্রশংসিত হয়েছে!

from string import* 
lambda i:(i,(uppercase,lowercase)[i.islower()])[i.isalpha()]

সহায়তার জন্য মরগান থ্র্যাপকে ধন্যবাদ!


1
@ মরগানথ্রাপ, এটি কার্যকর বলে মনে হচ্ছে না। আপনি কি নিশ্চিত যে এটি পাইথন ২.7.১০ এ কাজ করে?
ড্যানিয়েল

এটি 2.7.8 এ কাজ করে। কি কাজ করে না?
মরগান থ্রাপ

@ মরগানথ্রাপ, আসলে, আপনি দয়া করে প্রথমে ব্যাখ্যা করতে পারেন যে কীভাবে এটি কার্যকর? হয়তো এটি ঠিক যে আমি বুঝতে পারি না তাই আমি কিছু ভুল করছি।
ড্যানিয়েল

অবশ্যই, এটি টিপলগুলিতে সূচক তৈরি করে False == 0এবং এটি ব্যবহার করে True == 1। সুতরাং, এটি প্রথমে এটি কোনও চিঠিযুক্ত কিনা তা যাচাই করে তবে তা isalphaফিরে আসে 1এবং তারপরে এটি ছোট হাতের অক্ষর থাকে এবং এটি একই রকম হয় কিনা তা পরীক্ষা করে।
মরগান থ্রাপ

1
সমস্যা নেই! আমি গল্ফিং পছন্দ করি, তাই নতুন কাউকে সাহায্য করতে পেরে আমি সর্বদা খুশি!
মরগান থ্রাপ

4

রুবি, 46 43 টি অক্ষর

(42 টি অক্ষর কোড + 1 অক্ষর কমান্ড লাইন বিকল্প)

[?a..?z,?A..?Z].map{|r|r===$_&&$_=[*r]*""}

ধন্যবাদ:

নমুনা রান:

bash-4.3$ echo -n 'm' | ruby -pe '[?a..?z,?A..?Z].map{|r|r===$_&&$_=[*r]*""}'
abcdefghijklmnopqrstuvwxyz

bash-4.3$ echo -n 'W' | ruby -pe '[?a..?z,?A..?Z].map{|r|r===$_&&$_=[*r]*""}'
ABCDEFGHIJKLMNOPQRSTUVWXYZ

bash-4.3$ echo -n '@' | ruby -pe '[?a..?z,?A..?Z].map{|r|r===$_&&$_=[*r]*""}'
@

4

এমএটিএল , 22 বাইট

jtt1Y2XIm~Iw?km?Ik]]1$

এটি ভাষার বর্তমান সংস্করণ (3.1.0) ব্যবহার করে।

সম্পাদনা (সেপ্টেম্বর 15, 2017): এটি এমএটিএল অনলাইনে চেষ্টা করে দেখুন ! (ভাষার নতুন সংস্করণ সহ)

উদাহরণ

>> matl jtt1Y2XIm~Iw?km?Ik]]1$
> e
abcdefghijklmnopqrstuvwxyz

>> matl jtt1Y2XIm~Iw?km?Ik]]1$
> T
ABCDEFGHIJKLMNOPQRSTUVWXYZ

>> matl jtt1Y2XIm~Iw?km?Ik]]1$
> "
"

ব্যাখ্যা

j              % input string (assumed to be a single character)        
tt             % duplicate twice
1Y2            % predefined literal: uppercase letters
XI             % copy to clipboard I         
m~             % check if not member    
I              % paste from clipboard I      
w              % swap elements in stack      
?              % if
    k          % convert string to lowercase 
    m          % check if member         
    ?          % if                          
        I      % paste from clipboard I      
        k      % convert string to lowercase 
    ]          % end                         
]              % end                         
1$             % input specification for implicit printing

3

জাভা, 165 টি অক্ষর

class A {public static void main(String[]p){int c=p[0].charAt(0),d=c|32,b=(d-96)*(d-123),e=b<0?65|(c&32):c,f=e+(b<0?26:1);for(;e<f;e++){System.out.print((char)e);}}}

স্টাডআউটে প্রয়োজনীয় আউটপুট উত্পন্ন করে (এটি ফিরিয়ে দেওয়ার চেয়ে)। রানটাইম আর্গুমেন্টের মাধ্যমে ইনপুট হয়।

কিভাবে এটা কাজ করে.

1)
রানটাইম আর্গুমেন্টের প্রথম প্যারামিটারের প্রথম চরিত্রের সি = এএসসিআইআই মান সেট করুন vari
d = c ছোট হাতের ASCII মান রূপান্তরিত (এটি দিয়ে 32 দ্বারা OR)
বি = গণনা d কি অক্ষর কিনা তা দেখার জন্য। কোনও চিঠি দিলে <0 হবে।
e = আউটপুট জন্য শুরু অক্ষর। যদি d তে ASCII মান একটি বর্ণ হয় (খ দেখুন) তবে এটি 'A' (বা 'a' তে সি এবং 32 এ 'A' ASCII মান যোগ করে) সেট করা হবে অন্যথায় এটি গ এর মূল মানকে সেট করা হবে।
চ = আউটপুটে অক্ষরের সংখ্যা। যদি এটি কোনও অক্ষর না হয় (খ দেখুন) তবে এটি 1 এ সেট করা হয়েছে এবং এটি 26
2 এ সেট করা আছে ) প্রতিটি অক্ষরকে স্টাডআউট আউটপুট করে ই থেকে ই + এফ পর্যন্ত লুপ করুন।


2
আপনি জানেন যে বেশিরভাগ চ্যালেঞ্জের জন্য সমাধানটি সম্পূর্ণ প্রোগ্রাম হিসাবে বা কোনও ফাংশন হিসাবে সরবরাহ করা যেতে পারে? জাভাতে প্রচুর পরিমাণে বয়লারপ্লেট কোড দেওয়া, একটি ফাংশন সংক্ষিপ্ত হতে পারে।
manatwork

1
ছোট ঠাট একটি দম্পতি প্রয়োগ করা হচ্ছে, যুক্তি পরিবর্তন না করে, আমি এই করেছেন: void f(char c){for(int d=c|32,b=(d-96)*(d-123),e=b<0?65|(c&32):c,f=e+(b<0?26:1);e<f;)System.out.print((char)e++);}
manatwork

3

পার্ল, 23 বাইট

-nEঅন্যান্য পার্ল সমাধানের সাথে ন্যায্য হওয়ার জন্য (সাধারণ +1 এর পরিবর্তে) জন্য +২ অন্তর্ভুক্ত

নতুন লাইনটি অনুসরণ না করে এসটিডিআইএন-এ ইনপুট দিয়ে চালান:

echo -n g | perl -lnE 'say/\pL/?a&$_|A..Z:$_'

শুধু কোড:

say/\pL/?a&$_|A..Z:$_

ইনপুটটি--বিট অক্ষরের মধ্যে সীমাবদ্ধ এ বিষয়টি ব্যবহার করে সুন্দর ব্যবহার করুন।
msh210

3

লুয়া, 98 97 বাইট

দুঃখের বিষয়, আমি aবর্ণমালার সাথে সেট করতে 26 বাইটের চেয়ে কম সমাধান খুঁজে পাইনি । আসলে, আমি 32 এর চেয়ে কম খুঁজে পাইনি।

সম্পাদনা করুন: সংরক্ষণ করুন 1 বাইট @ATaco ধন্যবাদ, লুয়া: পি দিয়ে শুরু করার সময় এই ত্রুটিটি অনেকটাই করছিল

c=io.read()a="abcdefghijklmnopqrstuvwyz"print(not c:find"%a"and c or c:find"%u"and a:upper()or a)

আপনি এটি অফিসিয়াল সাইটে বা আইডিয়োনে অনলাইনে পরীক্ষা করতে পারেন । আপনি যদি পূর্বটি ব্যবহার করেন তবে ইনপুটটি (অক্ষম) কাজ করবে না, সুতরাং নিম্নলিখিত উত্সটি ব্যবহার করুন, যেখানে এটি কোনও ফাংশনে আবৃত রয়েছে।

function f(c)
  a="abcdefghijklmnopqrstuvwyz"
  print(not c:find"%a"and c or c:find"%u"and a:upper()or a)
end

print(f("\""))
print(f("a"))
print(f("Q"))

লুয়ার বর্ণমালা উত্পন্ন করার জন্য আপনি কেবলমাত্র ছোটখাটো উপায় খুঁজে পেলেন না। :(
manatwork

@ মানত ওয়ার্ক হাহা, ঠিক একই জিনিসটি বাদে আমার এটি প্রিন্ট করতে হয়নি, তবে এটির সাথে যুক্ত করতে ^^ ^^ কমপক্ষে, এর অর্থ এমন কোনও গোপন কৌশল নেই যা আমি এটি করতে জানতাম না ^^ '।
কাটেনকিও

আপনি c=io.read()a="abcdefghijklmnopqrstuvwyz"a, c = ... এর পরিবর্তে একটি বাইট সংরক্ষণ করতে পারেন
এটিাকো

2

গণিত, 75 বাইট

#/.Thread[Join[a=Alphabet[],b=ToUpperCase@a]->Array[""<>If[#>26,b,a]&,52]]&

সুন্দর একটি অ-golfing ভাষার জন্য ভাল স্কোর ... চরিত্র কোড প্রক্রিয়াজাতকরণ ব্যবহার করে যে কোনও সমাধান খরচ কারণে আরো বাইট নিতে হবে ToCharacterCodeএবং FromCharacterCode



2

পাইথন, 81 বাইট

f=lambda z,a="abcdefghijklmnopqrstuvwxyz":[k for k in[a,a.upper(),z]if z in k][0]

এটি মূলত পাইথ উত্তরের অনুবাদ। এটি এমন একটি ফাংশন সংজ্ঞা দেয় fযা চরিত্রটিকে তর্ক হিসাবে গ্রহণ করে এবং ফলাফলটি প্রদান করে returns


1
মানে if z in k, তাই না? এছাড়াও, f=ডিফল্টরূপে isচ্ছিক।
xnor

@ এক্সনর হ্যাঁ স্পষ্টতই আমি একটি Ctrl-C মিস করেছি।
পূর্বকুডারী

2
সরান f=, ফাংশন বেনামে করুন। -2
এরিক আউটগল্ফার


2

ম্যাটল্যাব: 71 68 বাইট

i=input('');b=i<65|i>122|(i>90&i<97);[i*b,~b*((65:90)+32*(i>96)),'']

(3 বাইট সংরক্ষণের জন্য ওপিকে ধন্যবাদ)

টেস্ট:

i='a'
ans=
abcdefghijklmnopqrstuvwxyz

i='A'
ans=
ABCDEFGHIJKLMNOPQRSTUVWXYZ

i='~'
ans=
~

ব্যাখ্যা: বড় হাতের বর্ণমালা 65:90ASCII অক্ষর দখল করে। ছোট হাতের বর্ণমালা 97:122ASCII এ রয়েছে। সুতরাং, b=i<65|i>122|(i>90&i<97)ইনপুট অক্ষরটি iবর্ণমালা নয় কিনা তা পরীক্ষা করে । যদি তা হয় তবে ইনপুট ফেরত দেওয়া হয়। বড় হাতের বর্ণমালা যদি ফিরে আসে b==1এবং i<97(বড় হাতের অক্ষর)। যদি b==1এবং i>96, 32 এর সাথে যুক্ত 65:90হয় তবে 97:122- ছোট হাতের বর্ণমালা।


ভাল জমা। দুইটা মন্তব্য: এটা হয় ব্যবহারের সাধারণ i=input('')যদি জমা একটি স্ক্রিপ্ট হয়, অথবা একটি ফাংশন যুক্তি যদি এটি একটি ফাংশন হিসাবে @(i)i^2i='a'সাধারণত গৃহীত হয় না। এছাড়াও, আপনি [1,2,3,'']পরিবর্তে না করে 3 বাইট সংরক্ষণ করতে পারেন char([1,2,3])
স্টিভি গ্রিফিন

ঠিক আছে, সম্পাদিত পরামর্শের জন্য ধন্যবাদ!
ব্রেকিংজ

2

স্পেসবিএএস, 111 বাইট

আমি এর বেশ কয়েকটি সংস্করণ দিয়েছি, 111 আমি পরিচালনা করতে পারি বলে মনে হয়।

1 INPUT l$: a$="abcdefghijklmnopqrstuvwxyz"
2  ?IIF$(l$ IN ["a" TO "z","A" TO "Z"],IIF$(l$=UP$ l$,UP$ a$,a$),l$)

লাইন 2 ?শর্টকাট ব্যবহার করে PRINTএবং নেস্টেড ইনলাইন IFস্টেটমেন্টগুলির জন্য

সিউডো কোড ব্যাখ্যা

IF character IN "a".."z","A".."Z"
THEN
 IF character = UPPERCASE character
 THEN
  print UPPERCASE alphabet
 ELSE
  print alphabet
 ENDIF
ELSE
 print the character
ENDIF

এটা তোলে করতে কঠিন ["a" TO "z","A" TO "Z"]একটি ছদ্ম কোড তুলনায় এটি ইতিমধ্যে মত আরো দেখুন। "a".."z","A".."Z"কমপক্ষে আমার চোখে "বাস্তব কোড" এর মতো দেখতে আরও
দু'টিই


2

সুইফট 2, 142 বাইট

func d(s:String)->String{let a="abcdefghijklmnopqrstuvwxyz";for v in s.utf8{return v>64&&v<91 ?a.uppercaseString:(v>96&&v<123 ?a:s)};return s}

Ungolfed

func d(s: String) -> String{
    let a="abcdefghijklmnopqrstuvwxyz"
    for v in s.utf8{
        return (
            v > 64 && v < 91 ?
            a.uppercaseString :
            (
                v > 96 && v < 123 ?
                a :
                s
            )
        )
     }
    return s
}

2

05 এ বি 1 ই , 19 16 বাইট

-3 বাইট ধন্যবাদ else

DAsåiAëDAusåiAuë

কিভাবে এটা কাজ করে

                   # implicit input
D                  # duplicate
 A                 # push lowercase alphabet
  s                # swap last two elements
   å               # push a in b
    i              # if
     A             # lowercase alphabet
      ë            # else
         D         # duplicate
          Au       # uppercase alphabet
            s      # swap last two elements
             å     # push a in b
              I    # if
               Au  # uppercase alphabet
                 ë # else leave input
                   # implicit print

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


নিশ্চিত না যে ¹আপনি নিজের উত্তর পোস্ট করার সময় (প্রথম ইনপুট) ইতিমধ্যে বিদ্যমান ছিল তবে আপনি এটির সাথে 2 বাইট গল্ফ করতে পারেন: A¹åiAëAu¹åiAuë( এটি অনলাইনে চেষ্টা করুন বা টেস্ট স্যুট করুন )।
কেভিন ক্রুজসেন

2

জাভা এসই 8, 71 69 বাইট

Golfed:

(a,s)->{char b=97;if(a<91)b-=32;a=b;b+=26;while(a<b)s+=a++;return s;}

Ungolfed:

(a,s)->{          // String as a parameter. If declaration is necessary it adds 8 bytes
char b = 97;      // Uppercase A char, this is important
if (a < 91)       // If it is not past 'z', where a is a char param
    b -= 32;      // Then go back to the lowercase alphabet
a = b;            // Done to prevent a cast
b += 26;          // End of alphabet
while (a < b)     // Go to end of alphabet
    s += a++;     // Append character
return s;}        // Then return

আমি মূলত নিম্নলিখিতটি প্রয়োগ করেছিলাম

String s="";char b=96;if(a-91<0)b-=32;for(char c=b;++c<b+27;)s+=c;return s;

এটি আরও মার্জিত তবে দুঃখের বিষয় এটি একটি বাইট আরও বড়। এটি ধরে নেওয়া হচ্ছে যে অ্যালফা অক্ষরগুলির জন্য আচরণ অপরিজ্ঞাত এবং স্ট্রিং এর প্রয়োগের আগে "" থেকে আরম্ভ করা হয়। ভদ্র থাকুন এটি আমার প্রথম পোস্ট।

সম্পাদনা করুন: স্টিভি গ্রিফিন পরিবর্তন করে 2 বাইট সংরক্ষণ করেছেন

a - 91 < 0 to a < 91

2
সাইটে স্বাগতম! :)
ডিজেএমসিএমহেম

1
ধন্যবাদ! এখন কয়েক বছরের জন্য
নিবিড় ছিল

1
a<91কাজ করা উচিত, বা ...?
স্টিভি গ্রিফিন

2

স্কালা, 91 টি অক্ষর

(c:Char)=>{var a='a'.to('z').mkString;if(c.isUpper)a=a.toUpperCase;if(!c.isLetter)a=""+c;a}

আন golfed

def f(c: Char): String = {
    var a='a'.to('z').mkString //set up lower case default response
    if (c.isUpper) {
        a = a.toUpperCase     //mutate the result if upper case
    }        
    if (!c.isLetter) { 
      a = ""+c                 //mutate the result if not a letter
    }
    a                         //return result
}

3 টি স্বতন্ত্র থেকে অপরিবর্তনীয় মান ফিরিয়ে দেওয়ার পরিবর্তে প্রাথমিক পরিবর্তনযোগ্য ফলাফল পাওয়া যদি অন্য ব্লকগুলি আমাকে 2 টি অক্ষর বাঁচায় তবে আমি এটি ঘৃণা করি।

স্কালা-থোনিক পদ্ধতি

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

def convertToAlphabet(c: Char): String = {
    c match {
      case x if !x.isLetter => x.toString
      case x if x.isUpper => ('A' to 'Z').mkString
      case _ => ('a' to 'z').mkString
    }
}

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