কোন সারি কী চালু আছে?


39

নিম্নলিখিত অক্ষরগুলির (বা একটি নতুন লাইন) দেওয়া

`1234567890-=~!@#$%^&*()_+qwertyuiop[]\QWERTYUIOP{}|asdfghjkl;'ASDFGHJKL:"zxcvbnm,./ZXCVBNM<>?

আপনার প্রোগ্রামটি অবশ্যই কীবোর্ডে থাকা সারিটি আউটপুট করবে


আমার কীবোর্ডটি ব্যাটারির বাইরে (প্রায়) শেষ হওয়ার কারণে আপনার কোডটি যতটা সম্ভব সংক্ষিপ্ত হতে হবে


আপনার প্রোগ্রামটি যে কীবোর্ডটি ব্যবহার করবে (সারি দেখার জন্য) তা দেখতে হবে:


Row 1:~` !1@2 #3$4 %5^6 &7*8 (9)0 _-+=                          

Row 2:                         Q W E R T Y U I O P {[ }]    |\   
Row 3:                              A S D F G H J K L :; "' return  
Row 4:                                 Z X C V B N M <, >. ?/                 
Row 5:                                                    space                                                   

যেখানে   returnএকটি নতুন লাইন। খালি কীগুলি কোনও অর্থ নয়।

উদাহরণ

"$"
1

"R"
2

"a"
3

"?"
4

"\n"
3

" "
5

যেখানে \nএকটি নতুন লাইনের চরিত্র।

বিশেষ উল্লেখ

  • আপনার প্রোগ্রামটি সংবেদনশীল হওয়া উচিত
  • আপনার প্রোগ্রামটি কেবল দেখানো কীবোর্ডের অক্ষরগুলি পরিচালনা করতে হবে


3
এটা কি দ্বি-বাসা kbd?
কনর ও'ব্রায়ান

আমার মনে আছে কয়েক বছর আগে এমন কোনও ভাষা ব্যবহার করা হয়েছিল যা কীপ্রেসগুলিকে 100 × সারি + অবস্থান হিসাবে ফিরিয়েছিল ... এটির জন্য নিখুঁত হত, তবে দুর্ভাগ্যক্রমে আমি মনে করি না এটি কী ছিল। বেসিকের কিছু ফর্ম হতে পারে ...
অ্যাডাম

@ এনবিজেড এটি ব্লিটজ বেসিক?
wizzwizz4

1
@ wizzwizz4 আপনি কি ব্লিটজপ্লাস চেষ্টা করেছেন? এটি নিখরচায় এবং আপনি যা চান তা দেখে মনে হচ্ছে।
হলি ব্ল্যাককিট

উত্তর:


6

পাইথ, 62 66 65 বাইট

?zh@+,4Zmid2c.Bi."0fÀÓ¸[9Ѷ¤KïLäHÉðbÀ`]ü©¬vS"16 2-CzCd3

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

একটি প্যাকযুক্ত স্ট্রিং ব্যবহার করে হেক্সে একটি সংখ্যার প্রতিনিধিত্ব করে যা, যখন দ্বি-বিট খণ্ডে কাটা হয়, প্রতিটি চরিত্রের সারি প্রতিনিধিত্ব করে বাদে এবং !0 থেকে 3 পর্যন্ত একটি মান হিসাবে We আমরা ছেড়ে চলে যাই এবং !সুতরাং আমাদের 4 বা সংরক্ষণ করতে হবে না এই সংখ্যাটির শুরুতে একটি 0, তারপরে তাদের সারি মান যুক্ত করুন +,4Z। একবার আমরা স্ট্রিংটিকে সারি মানগুলিতে পরিণত করেছি, আমাদের কেবলমাত্র ইনপুটটির অক্ষর কোডটি মানগুলির অ্যারেতে সূচি হিসাবে ব্যবহার করতে হবে এবং তারপরে 1 যুক্ত করতে হবে।

নিউলাইনটি পৃথকভাবে পরিচালনা করা হয় কারণ এটি পাইথ দ্বারা খালি স্ট্রিং হিসাবে ব্যাখ্যা করা হয় এবং তাই 0 এর একটি অক্ষর কোডও রয়েছে।

আমি যদি পাইথের বেস 256 কীভাবে ব্যবহার করতে পারি তা যদি এটি সংক্ষিপ্ত হয় তবে আমি এটি বেশ কার্যকর করতে পারি না।


4
o.0 জাপট সঙ্কুচিত শুরু করে
নিকেল 21

এটি আমাকে লজ্জায়
ফেলেছে

:( আমি নিউলাইনটি সম্পর্কে ভুলে গেছি! @ এনিকায়েল আপনি শীর্ষে ফিরে এসেছেন
লূক

এখন আমরাও মরে গেছি!
লুক

পাইথের নাল বাইটগুলি আপনারা পালাতে হবে।
lirtosiast

12

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

c=>/[~`0-9!@#-&^(-+_=-]/.test(c)+/[asdfghjkl;:'"\n]/i.test(c)*3+/[zxcvbnm,<.>/?]/i.test(c)*4||++c*7^2

ব্যাখ্যা

জাভাস্ক্রিপ্টে এমন testএকটি বুলিয়ান দেয় যা একইভাবে কাজ করে 1বা 0তাই আমি তাদের সারিতে তাদের গুণ করি। সারি 2 এর জন্য পরীক্ষা করা সর্বাধিক বাইট নিয়েছে তাই আমি সেইটিকে ডিফল্ট হিসাবে ব্যবহার করি যদি অন্য কারও সাথে মেলে না।

c=>
  /[~`0-9!@#-&^(-+_=-]/.test(c)   // row 1 regex
  +/[asdfghjkl;:'"\n]/i.test(c)*3 // row 3 regex
  +/[zxcvbnm,<.>/?]/i.test(c)*4   // row 4 regex
  ||++c                           // space ++ = 1, any character on row 2 ++ = NaN
    *7^2                          // 7 XOR 2 = 5, NaN XOR 2 = 2

পরীক্ষা


1
> NaN XOR 2 = 2 - ???
lirtosiast

1
@ থমাসকওয়া ঠিক এভাবেই জেএস কার্যকরভাবে কাজ করে। তাহলে c="q", ++c= NaN, NaN*7= NaN, NaN^2operands পূর্ণসংখ্যার করার জন্য (uncastables মত পরিবর্তন করে NaNহয়ে 0) তাহলে না 0 XOR 2হয় 2
ব্যবহারকারী 81655

5

গ্লাভা 1.5 , 164 বাইট

গ্লাভা জাভার একটি উপভাষা যা জাভা কোডকে ছোট করে তোলে। এই কোডটি দুর্ভাগ্যক্রমে অপ্রতিযোগিতামূলক হিসাবে প্রতিশ্রুতিবদ্ধ (2 ঘন্টা দেরী ...) ব্যবহৃত হয়েছিল এই চ্যালেঞ্জের পরে, যা কিছু গুরুত্বপূর্ণ বাগগুলি স্থির করে যা এই প্রোগ্রামটিকে কাজ করতে দেয় না।

p(A[0].matches("[`0-9-=~!@#$%^&*()_+]")?1:A[0].replace("\\n","\n").matches("(?i)[asdfghjkl;':\"\n]")?3:A[0].matches("(?i)[zxcvbnm,.\\/<>?]")?4:A[0].matches(" ")?5:2

এটি একটি সম্পূর্ণ প্রোগ্রাম যা কমান্ড-লাইন আর্গুমেন্টের মাধ্যমে ইনপুট নেয়। কোন সারি রেজেক্সের সাথে এটি মেলে তা কেবল পরীক্ষার মাধ্যমে কাজ করে, তারপরে সংশ্লিষ্ট সংখ্যাকে আউটপুট করে।


গ্লাভা = পেয়ারা + জাভা?
ডাউনওয়েট

2
@ দো গ্লাভা = গল্ফ + জাভা (এটি কনরের ধারণা ছিল)
গামার কর্পস

প্রকৃতপক্ষে! @ দো
কনর ও'ব্রায়ান

4

পাইথন 3, 142

print(int(("~`!1@2#3$4%5^6&7*8(9)0_-+=""qwertyuiop{[}\|"+"]"*11+'asdfghjkl;:"\n'"'"*13+"zxcvbnm,<.>/""?"*14+" ").index(input().lower())/26)+1)

আমি সম্ভবত sh \ _ (ツ) _ / over উপেক্ষা করছি এর চেয়ে আরও ছোট একটি উপায় ¯


4

পাইথ , 98

|+++l:"~`0123456789!@#$%^&*()_-=+"z1*l:"asdfghjkl;:'\"\n"rz0 1 3*l:"zxcvbnm,<.>/? "rz0 1 4 l:dz1 2

কোনও কারণে কীভাবে 0-9 রেঞ্জটি কাজ করা যায় তা নিশ্চিত নন: |, ব্যবহারকারী 81655 এর উত্তর দ্বারা অনুপ্রাণিত


আপনি jkUT0 থেকে 9 ব্যাপ্তির স্ট্রিংয়ের জন্য ব্যবহার করতে পারেন , আরও ছোট উপায় আছে কিনা তা নিশ্চিত নন। এছাড়াও আপনি বস্তাবন্দী স্ট্রিং ব্যবহার, কয়েক বাইট যেমন সংরক্ষণ করতে পারেন ."!~WÏù¹_(<]úÝ"জন্য "~`!@#$%^&*()_-=+"
লুক

@ বেনস্টোপিক্স থেকে, এটি রেজিেক্স মেটাচার্যাক্টরদের জন্য ব্যর্থ
ফ্রাইআম দ্য এজিজিম্যান

4

বাশ, 108

কোন বাশ উত্তর নেই? বাশ উত্তর। grep -Finঅবশ্যই এই কাজের জন্য সঠিক সরঞ্জাম।

এই প্রোগ্রামটি দুটি ফাইলে রয়েছে।

k, 73 বাইট

`1234567890-=~!@#$%^&*()_+
qwertyuiop[]\{}|
asdfghjkl;':"
zxcvbnm,./<>?

5 টি লাইন রয়েছে, শেষটি একটি স্থান। আপনার যদি ফাইলটি পুনরায় উত্পাদন করতে সমস্যা হয় তবে বেস 64 হ'ল:

YDEyMzQ1Njc4OTAtPX4hQCMkJV4mKigpXysKcXdlcnR5dWlvcFtdXHt9fAphc2RmZ2hqa2w7JzoiCnp4Y3Zibm0sLi88Pj8KIA==

b, 34 বাইট

এটি প্রোগ্রাম নিজেই, এটি একমাত্র কমান্ড লাইন আর্গুমেন্ট হিসাবে ইনপুট নেয়।

grep -Fin "$1" k|tail -n3|head -c1

স্কোর: 34 + 73 + 1 ( kফাইলের নামের জন্য ) = 108 বাইট

Ungolfed

grep --fixed-strings --ignore-case --line-number "$1" k|tail --lines=3|head --bytes=1

ব্যাখ্যা

  • grep - একটি স্ট্রিং বা নিয়মিত অভিব্যক্তি মেলে লাইনগুলির জন্য একটি ফাইল অনুসন্ধান করুন, কেবলমাত্র সেই লাইনের আউটপুট
  • -Fওরফে --fixed-strings- নিয়মিত এক্সপ্রেশন অক্ষম করুন [ইত্যাদি সঠিকভাবে পরিচালনা করা হয়
  • -iওরফে -yওরফে --ignore-case- কেস-সংবেদনশীল মিল
  • -nওরফে --line-number- রেখার নম্বরটি প্রদর্শন করুন এবং: প্রতিটি লাইনের আগে (যেমন 4:zxcvbnm,./<>?)
  • "$1" - স্ক্রিপ্টের প্রথম কমান্ড-লাইন আর্গুমেন্টটি অনুসন্ধান করুন, নিউলাইন এবং স্থান পরিচালনা করতে উদ্ধৃতিগুলি প্রয়োজনীয়
  • k - ফাইল অনুসন্ধান করুন k
  • grepযদি ইনপুটটি নতুন লাইন হয় এবং অন্যথায় কেবল একটি লাইন থাকে তবে এই কমান্ডটি পাঁচটি লাইনের সাথে মিলবে।
  • | - পাইপ, পরবর্তী কমান্ডের একটি কমান্ডের স্ট্যান্ডার্ড আউটপুট প্রেরণ করুন
  • tail - স্ট্যান্ডার্ড ইনপুট এর শেষ এন লাইন বা অক্ষর আউটপুট
  • -n3ওরফে --lines=3- শেষ 3 লাইন আউটপুট
  • যদি ইনপুটটি কোনও নতুন লাইন না ছিল, প্রক্রিয়া করার জন্য কেবলমাত্র একটি লাইন রয়েছে, যা -nপতাকা চালু হওয়ার কারণে সারি নম্বর দিয়ে শুরু হয় grep। অন্যথায়, এই কমান্ডটি কেবল 3, 4 এবং 5 (শেষ 3 লাইন) রেখা গ্রহণ করে।
  • | - পাইপ
  • head - স্ট্যান্ডার্ড ইনপুট এর প্রথম এন লাইন বা অক্ষর আউটপুট
  • -c1ওরফে --bytes=1- প্রথম অক্ষর আউটপুট
  • যদি ইনপুটটি কোনও নতুন লাইন না ছিল তবে এটি প্রথম অক্ষরটি গ্রহণ করবে যা লাইন নম্বরটি যেখানে ইনপুটটি পাওয়া যায়। যদি ইনপুটটি একটি নতুন লাইন হয় তবে এটি 3, 4 এবং 5 টি সংযুক্ত লাইনগুলির প্রথম অক্ষর গ্রহণ করে, যা 3, যা নতুন লাইনের জন্য সঠিক সারি সংখ্যা বলে।

4

জাপট, 73 70 66 বাইট

2+`qØÆyuiop\{}[]|\\1dfghjkl;:
'1zxcvbnm,.<>?/\"1 `q1 ®bUv)<0} b!1

এটি অনলাইন চেষ্টা করুন! (উদাহরণস্বরূপ, ইনপুটটি আক্ষরিক অর্থে একটি নতুন লাইন)


খুব সুন্দর, এ পর্যন্ত!
ETH প্রোডাকশনগুলি

@ ইয়েপ, কমপক্ষে একবার আমার কিছু সংক্ষিপ্ত পোস্ট করা উচিত: ডি
নিকেল


@ এথ হি, !1এমন কিছু যা "মিথ্যা" সাথে মেলে, অবশেষে আমি জানি কীভাবে এটি করা উচিত, ধন্যবাদ :)
নিকেল

@ এথ্য হলপ, পাইথকে পরাতে 5 বাইট লাগবে।
নিকেল

4

জাভা, 300 বাইট

import java.util.Scanner;public class A{public static void main(String[] args){String g="~`!1@2#3$4%5^6&7*8(9)0_-+=qQwWeErRtTyYuUiIoOpP[{]}\\|aAsSdDfFgGhHjJkKlL;:\'\"\r";Scanner i=new Scanner(System.in);int f=g.indexOf((i.nextLine().charAt(0)));System.out.print(f<0?4:(f<26?1:(f<53?2:(f<76?3:5))));}}

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


সবেমাত্র এটি খালি ইনপুট (নতুন লাইন / ক্যারেজ রিটার্ন) দিয়ে ক্র্যাশ হয়ে গেছে noticed আমি যখন পারব ঠিক করবে
অ্যান্ড্রু

সম্প্রদায় স্বাগতম!
এরিক আউটগল্ফার

স্বাগতম (আপনি জানুয়ারী এক্সডি পোস্ট করার পরে কিছুটা দেরি)। আপনি আপনার বর্তমান পদ্ধতির এভাবে পরিবর্তন না করে একে একে কিছুটা গল্ফ করতে পারেন: class A{public static void main(String[]a){int f="~'!1@2#3$4%5^6&7*8(9)0_-+=qQwWeErRtTyYuUiIoOpP[{]}\\|aAsSdDfFgGhHjJkKlL;:\'\"\r".indexOf(new java.util.Scanner(System.in).nextLine().charAt(0));System.out.print(f<0?4:f<26?1:f<53?2:f<76?3:5);}}( 243 বাইট ) আমি কিছু অপ্রয়োজনীয় প্রথম বন্ধনী সরিয়েছি; সংক্ষিপ্ত args; অপসারণ public ; স্ট্রিং এবং স্ক্যানার সরাসরি ব্যবহার করেছেন; এবং এখন java.util.Scannerএকবার ব্যবহার করা হয় আমদানি সরানো ।
কেভিন ক্রুইজসেন

219 বাইটস এর জন্য আপনাকে স্ক্যানার ব্যবহার করার দরকার নেই
প্রিন্সপোলকা

3

পাইথ, 105 বাইট

J?<l-c".^$*+?{}[]\|()"1]z14+\\zrz0?qJd5?:"qwertyuiop[]\|"J)2?:"asdfghjkl;':\"\n"J)3?:"zxcvbnm,./<>?"J)4 1

ব্যাখ্যা:

J?<l-c".^$*+?{}[]\|()"1]z14+\\zrz0     # Escape input if regex metachar
?qJd5                                  # Check space
?:"qwertyuiop[]\|"J)2                  # Check second row
?:"asdfghjkl;':\"\n"J)3                # Check third row
?:"zxcvbnm,./<>?"J)4                   # Check fourth row
1                                      # If none of these, must be on first row.

আমি প্রথম সারিটি "আর কিছু না হলে অবশ্যই" সারি হিসাবে বেছে নেওয়ার সিদ্ধান্ত নিয়েছিলাম কারণ গল্ফ করার পরেও এটি সবচেয়ে বেশি বাইটের প্রতিনিধিত্ব করতে পারে।


প্রোগ্রামিং ধাঁধা এবং কোড গল্ফ স্বাগতম! @ জুয়ানপোটাতো এটি পেতে মন্তব্যগুলি ব্যবহার করুন। যাইহোক, এটি 50 প্রতিনিধি প্রয়োজন। সুতরাং আপনার কাজ করা দরকার।
user48538

3

পার্ল 6, 128 বাইট

say 1+(/<[-\d=~!@#$%^&*()_+/`]>/,/<[qwertyuiop[\]\\{}|]>/,/<[asdfghjkl;':"\n]>/,/<[zxcvbnm,./<>?]>/,' ').first: @*ARGS.lc~~*,:k

আমি স্ট্রিং আক্ষরিক স্থানের সাথে অক্ষর শ্রেণিগুলি সহ রেজিওসের একটি তালিকা তৈরি করি। আমি firstতালিকার firstবর্তমান আইটেমটির বিপরীতে প্রোগ্রামটিতে প্রদত্ত যুক্তিটির তুলনা করতে স্মার্টমেচ ব্যবহার করে তালিকার পদ্ধতিটিকে (যা উচ্চতর ক্রমের ফাংশনের কেবলমাত্র পদ্ধতি সংস্করণ ) কল করি। মনে রাখবেন যে স্মার্টম্যাচ উভয় রেইজেক্স এবং স্ট্রিং আক্ষরিক জন্য "সঠিক জিনিস" করে। :kঐচ্ছিক প্যারামিটার firstকারণ পদ্ধতি তালিকায় ম্যাচিং আইটেমের সূচক ফিরে যাওয়ার, যা আমি তারপর মাধ্যমে এবং আউটপুট 1 যোগ say

নোট করুন যে এই প্রোগ্রামটি ব্যবহার করার সময় আপনাকে সঠিকভাবে আপনার শেলের মধ্যে অক্ষর space এবং স্পেসটি থেকে পালাতে হবে। উদাহরণস্বরূপ: perl6 কীবোর্ড.পি 6 `` `


যেহেতু কেউ এখনও এটি বলেন নি, তাই প্রোগ্রামিং ধাঁধা ও কোড গল্ফে আপনাকে স্বাগতম!
এরিক আউটগল্ফার

2

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

n=>[`qwertyuiop{}[]|\\`,`asdfghjkl;:
'`,`zxcvbnm,.<>?/"`,` `].map(x=>+(x.indexOf(n.toLowerCase())<0)).indexOf(0)+2

আর একটি জাভাস্ক্রিপ্ট সমাধান। নীতিটি হ'ল সারি প্লাস 2 এর অ্যারে ইনপুট চরের সূচকটি ফেরত পাঠানো (যাতে 0-9 সারিটি -1 প্রদান করে, যেমন বিদ্যমান নেই, -1 + 2 = 1 qএ অ্যারের প্রথম স্ট্রিংয়ে রয়েছে, সুতরাং এটি 0 + 2 = ২ য় সারিতে ফিরে আসে)।


2

পার্ল, 96 77 76 বাইট

ব্যবহার করে চালান perl -p। নিশ্চিত হয়ে নিন যে আপনি এটিকে কেবল একক অক্ষর খাচ্ছেন; উদাহরণস্বরূপ, এটি কোনও ফাইল থেকে চালানো key.pl(শেল এ্যাস্কেপ সিকোয়েন্সগুলির সাথে ঘাটতি এড়াতে) echo -n q|perl -p key.pl

$_=/[\d~`!@#-&(-+_=-]/+/[adfghjkls"':;
]/i*3+/[bcnmvxz<>,.?\/]/i*4+/ /*5||2

রেজেক্স রেঞ্জের কার্যকারিতা অপব্যবহার করা মজাদার।


আমার কাছে এটি কাজ করে না, এটি চালিয়ে আমি সারি +3 এর সূচক পাই (অর্থাত্ 0 এর পরিবর্তে 3, 4 এর পরিবর্তে 7 ইত্যাদি)।
ChatterOne

আপনি কীভাবে ইনপুট সরবরাহ করবেন তা সংবেদনশীল। আপনি সম্ভবত একটি নতুন লাইন অনুসরণ করে একটি অক্ষর সরবরাহ করছেন। আমি ইনপুটটিকে echoস্পষ্টভাবে নিয়ন্ত্রণ করতে ব্যবহার করি - যেমন। echo -n q|perl -n key.pl, যা সঠিকভাবে উত্পাদন করে 2
চিহ্নিত করুন

আচ্ছা বুঝলাম. ওয়েল, এটিও ব্যাখ্যা করে যে আপনি chompইনপুট কেন না করেন।
চ্যাটারওনে

1
যদি আমি chompইনপুটটি সম্পাদনা করি তবে আমি রিটার্ন কীটির জন্য '3' ফেরত দিতে সক্ষম হব না।
চিহ্নিত করুন

1
আরে @ মার্ক, আপনার $_=~ম্যাচগুলির দরকার নেই, m//(যা /.../এটি) $_স্বয়ংক্রিয়ভাবে কাজ করে ! এছাড়াও আপনি যদি তার -pপরিবর্তে ব্যবহার করেন তবে আরও কয়েকটি বাইট সংরক্ষণ করার পরিবর্তে -nব্যবহার করতে পারেন । পরিবর্তে আক্ষরিক নিউলাইন ব্যবহার করা আপনাকে অন্য একটি বাইটও বাঁচাতে পারে! এটি আপনার কোডটি কিছুটা কমাতে হবে! উদাহরণ ব্যবহারের পাশাপাশি যোগ করার উপযুক্ত হতে পারে যাতে যে কেউ পরীক্ষা করে জানেন যে আপনাকে ব্যবহার করা দরকার :)$_=print\necho -n
ডম হেস্টিংস

2

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

এখানে ধারণাটি ছিল রেজেক্স ক্যাপচারিং গ্রুপ নম্বরটি সারি সূচক হিসাবে ব্যবহার করা। সম্ভবত রেজেক্সে আরও কিছু অপটিমাইজেশন।

$i=$argv[1];preg_match("%([!#-&\(-+-0-9=@^-`~])|([EIO-RT-UWY[-]eio-rt-uwy{-}])|([\"':-;ADF-HJ-LSadf-hj-ls])|([,.-/<>-?B-CM-NVXZb-cm-nvxz])%",$i,$m);echo array_flip($m)[$i];

preg_match()কল একটি অ্যারের তৈরি করবে $mম্যাচের, এবং যদি আমরা যে প্রিন্ট ছিল, এটা ভালো কিছু (অভিমানী চেহারা চাই zইনপুট ছিল):

Array ( [0] => 'z', [1] => '', [2] => '', [3] => '', [4] => 'z' )

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

Array ( 'z' => 4, '' => 3 )

তারপরে আমরা আমাদের ফলাফল পেতে অ্যারের সূচক হিসাবে ইনপুট অক্ষর ব্যবহার করি।

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


2

সি, 145 143 136 132 127 106 বাইট

#define c 2124850936,91714965
b[]={8<<18,0,-218071008,7796<<19,c,c};f(a){return a-32?b[a>>4]>>a%16*2&3:4;}

এটি index()POSIX.1-2-2001 থেকে ব্যবহার করে এবং POSIX.1-2-2008 এ অবমূল্যায়িত হয়েছে। এটি ASCII এবং 32 বিট ints ধরে নেয়।


2

পাইথন 3, 89 বাইট

print("qwertyuiop{}[]\\|asdfghjkl;:\"\n'''zxcvbnm,.<>/???? ".find(input().lower())//16+2)

আমি এখনও মন্তব্য করতে না পারায়, আমি পৃথকভাবে বর্তমান পাইথন 3 উত্তরের জন্য উন্নতি পোস্ট করছি ।

সম্পাদনা করুন : printএখনই সমস্ত কোড এবং আরও টুইট করা হয়েছে।


এটি নিছক একটি স্নিপেট এবং অতএব কোনও বৈধ উত্তর নয়, আপনাকে এটিকে একটি মুদ্রণ বিবৃতিতে আবৃত করতে হবে (এটিকে একটি সম্পূর্ণ প্রোগ্রাম তৈরি করে) বা এটিকে কোনও ফাংশনে রূপান্তর করতে হবে।
ফ্লিপট্যাক

@ ফ্লিপট্যাক: আপনি ঠিক বলেছেন। আমি আপনার পরামর্শ অন্তর্ভুক্ত করেছি।
ক্রিয়েটিভকোডিং

পিপিসিজিতে আপনাকে স্বাগতম!
মার্টিন ইন্ডার

@ মার্টিনইন্দর: ধন্যবাদ! :-)
ক্রিয়েটিভ


0

সিজেম, 125 বাইট

q_" "={;5}{"`1234567890-=~!@#$%^&*()_+qwertyuiop[]\QWERTYUIOP{}|asdfghjkl;'ASDFGHJKL:\"    zxcvbnm,./ZXCVBNM<>?    "\#26/1+}?

ব্যাখ্যা

q                          e# read input
 _" "=                     e# decide if the input is a space
      {;5}                 e# if it is, push 5
          {"..."\#26/1+}?  e# if it isn't, push the correct row

0

স্পেসবিএএস - 178 বাইট

1 a$="~`!1@2#3$4%5^6&7*8(9)0-_+=qQwWeErRtTyYuUiIoOpP{[}]|\aaaaAsSdDfFgGhHjJkKlL:;'"#34#13"zzzzzzzZxXcCvVbBnNmM<,>.?/"+" "*26
2 INPUT k$: IF k$="" THEN k$=#13
3  ?CEIL(POS(k$,a$)/26)

আমি একটি দীর্ঘ স্ট্রিং ব্যবহার করেছি যেখানে প্রতিটি সারিটি 26 টি অক্ষর দীর্ঘ (# 34 ডাবল উদ্ধৃতিটির কোড এবং # 13 ফেরতের জন্য কোড)।

তারপরে বৃত্তাকার অবস্থান / 26 এর ফলাফল মুদ্রণ করুন।


0

সি # 6, 201 বাইট

এখানে বিশেষ কিছু নেই। আমি স্ট্রিংয়ের নির্দিষ্ট প্রস্থের কারণে কেবলমাত্র টুপার () ব্যবহার না করে উভয় ক্ষেত্রেই লিখতে কমদামে পেয়েছি।

using C=System.Console;class P{static void Main(string[]a)=>C.Write("`1234567890-=~!@#$%^&*()_+qwertyuiop[]\\QWERTYUIOP{}|asdfghjkl;'\raASDFGHJKL:\"\nazxcvbnm,./zzzZXCVBNM<>?zzz ".IndexOf(a[0])/26+1);}

ইন্ডেন্টযুক্ত:

using C=System.Console;
class P{
    static void Main(string[]a)=>
        C.Write("`1234567890-=~!@#$%^&*()_+qwertyuiop[]\\QWERTYUIOP{}|asdfghjkl;'\raASDFGHJKL:\"\nazxcvbnm,./zzzZXCVBNM<>?zzz ".IndexOf(a[0])/26+1);
}

1
আমি এটি ~ বা `এর জন্য কাজ করতে দেখতে পাচ্ছি না?
অ্যাশ বুর্লাকজেনকো

@ আশবুরালাকজেনকো, ধন্যবাদ! আমি সেই চাবিটি মিস করেছি। আমার স্কোর কোনও পরিবর্তন ছাড়াই স্থির।
হ্যান্ড-ই-ফুড

0

পাইথন 2, 146 বাইট

e="\n";lambda x:("`1234567890-=~!@#$%^&*()_+qwertyuiop[]\\QWERTYUIOP{}|asdfghjkl;'ASDFGHJKL:\""+e*4+"zxcvbnm,./ZXCVBNM<>?"+e*13+" ").index(x)/26+1

0

এক্সেল, 132 বাইট

=INT((FIND(A1,"`1234567890-=~!@#$%^&*()_+qwertyuiop[]\QWERTYUIOP{}|asdfghjkl;'ASDFGHJKL:""aaa zxcvbnm,./ZXCVBNM<>?zzzzzz ")-1)/26)+1

প্রচেষ্টা সংবেদনশীল ক্ষেত্রে ব্যবহার করতে SEARCH()পরিবর্তে FIND()জানা যায় যে এক্সেল সাথে মিলে যায় ~, *এবং ?করতে (tick). The matching of? means we can't useঅনুসন্ধান () `, যা একটি বিশাল 5 বাইট চাঁচা করত ...

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