किस पंक्ति में कुंजी है?


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 × पंक्ति + पोजीशन के रूप में कीपर्स लौटाने वाली कुछ भाषा का उपयोग करना ... इस के लिए एकदम सही था, लेकिन दुर्भाग्य से मुझे याद नहीं है कि यह क्या था। शायद BASIC का कुछ रूप ...
Admm

@NBZ क्या यह ब्लिट्ज बेसिक है?
wizzwizz4

1
@ wizzwizz4 क्या आपने ब्लिट्जप्लस की कोशिश की है? यह मुफ़्त है और जैसा आप चाहते हैं वैसा ही दिखता है।
२०:४२ पर होलीब्लैककट

जवाबों:


6

पायथ, 62 66 65 बाइट्स

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

इसे ऑनलाइन आज़माएं।

उपयोग एक पैक स्ट्रिंग हेक्स में एक नंबर, जो जब दो-बिट टुकड़ों में कटा हुआ, को छोड़कर हर चरित्र की पंक्ति का प्रतिनिधित्व करता है का प्रतिनिधित्व करने और !3. 0 से एक मूल्य के रूप में हम बाहर छोड़ और !4 की दुकान या के लिए तो हमारे पास नहीं है इस संख्या के प्रारंभ में एक 0, फिर उपयोग करते हुए उनकी पंक्ति मान जोड़ें +,4Z। एक बार जब हमने स्ट्रिंग को पंक्ति मूल्यों में बदल दिया है, तो हमें केवल इतना करना है कि इनपुट के वर्ण कोड का उपयोग मूल्यों के सरणी में अनुक्रमित करने के लिए किया जाए, और फिर 1 जोड़ें।

न्यूलाइन को अलग से संभाला जाता है क्योंकि इसकी व्याख्या पाइथ द्वारा एक रिक्त स्ट्रिंग के रूप में की जाती है और इसलिए इसका वर्ण कोड 0 होता है।

यह छोटा होगा यदि मैं यह पता लगा सकता हूं कि पायथ में बेस 256 का उपयोग कैसे किया जाए, लेकिन मैं इसे काम नहीं कर सकता।


4
o.0
nicael

यह मुझे शर्म की बात है
JuanPotato

:( मैं newline के बारे में भूल गया! @Nicael आप शीर्ष पर वापस आ रहे हैं।
लूका

अब हम भी मर चुके हैं!
ल्यूक

आपको पायथ में नल बाइट्स से बचने की आवश्यकता है।
lirtosiast

12

जावास्क्रिप्ट (ईएस 6), 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
@ThomasKwa बस यही है कि JS कैसे काम करता है। यदि c="q", ++c= NaN, NaN*7= NaN, NaN^2ऑपरेंड को पूर्णांकों में परिवर्तित करता है (अप्रयुक्त जैसे NaNबन जाते हैं 0) तो वह 0 XOR 2होता है 2
user81655

5

Glava 1.5 , 164 बाइट्स

Glava जावा की एक बोली है जो जावा कोड को छोटा बनाती है। यह कोड दुर्भाग्य से गैर-प्रतिस्पर्धी है क्योंकि इस चुनौती के बाद इस्तेमाल किए गए कमिट (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

यह एक पूर्ण कार्यक्रम है जो कमांड-लाइन तर्कों के माध्यम से इनपुट लेता है। बस किस पंक्ति के लिए परीक्षण करके काम करता है यह मेल खाता है, फिर संबंधित संख्या को आउटपुट करता है।


Glava = अमरूद + जावा?
डाउनगेट

2
@ Do @ Glava = गोल्फ + जावा (यह कॉनर का विचार था)
GamrCorps

वास्तव में! @ Do:04
कॉनर ओ'ब्रायन

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)

शायद एक छोटा तरीका है कि मैं way \ _ (_) _ / oking को देख रहा हूं


4

पायथ , 98

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

सुनिश्चित नहीं है कि किसी कारण के लिए 0-9 रेंज काम कैसे करें: |, user81655 के जवाब से प्रेरित है


आप jkUT0 से 9 की सीमा के साथ स्ट्रिंग के लिए उपयोग कर सकते हैं , यह सुनिश्चित नहीं है कि क्या कोई छोटा रास्ता है। आप कुछ बाइट्स, जैसे के ."!~WÏù¹_(<]úÝ"लिए बचाने के लिए पैक्ड स्ट्रिंग्स का भी उपयोग कर सकते हैं "~`!@#$%^&*()_-=+"
ल्यूक

@Benstopics से, यह रेगेक्स मेटाचैटर्स के लिए विफल
FryAmTheEggman

4

बैश, १० B

कोई बैश जवाब नहीं? बैश जवाब। 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

इसे ऑनलाइन आज़माएं! (उदाहरण में, इनपुट का शाब्दिक अर्थ एक नई पंक्ति है)


अच्छा, अब तक का सबसे छोटा!
ETHproductions

@ हाँ, कम से कम एक बार मुझे कुछ छोटा पोस्ट करना चाहिए: D
nicael


@ हाँ, !1कुछ ऐसा है जो "झूठे" से मेल खाता है, आखिरकार मुझे पता है कि यह कैसे करना है, धन्यवाद :)
nicael

@ पहले पड़ाव, पाइथ को हराने के लिए 5 बाइट्स की जरूरत होती है।
23

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))));}}

मैं एक विशेषज्ञ नहीं हूं, और यह गोल्फिंग में मेरा पहला प्रयास है, लेकिन मुझे लगा, क्या नरक है, क्यों नहीं? ऊपर पूर्ण प्रोग्राम संस्करण है, जो वास्तविक कोड में जाता है, वह सबसे अधिक संभावना है कि वर्णों का एक सभ्य राशि लेगा।


बस यह एक खाली इनपुट (नई लाइन / गाड़ी वापसी) के साथ दुर्घटनाग्रस्त देखा। जब मैं कर सकता हूँ ठीक कर देंगे
एंड्रयू

समुदाय में आपका स्वागत है!
आउटगॉल्फ

आपका स्वागत है (जनवरी xD में पोस्ट किए जाने के बाद से थोड़ा देर से)। आप इस तरह अपने वर्तमान दृष्टिकोण को बदलने के बिना इसे थोड़ा सा गोल्फ कर सकते हैं: 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.

मैंने पहली पंक्ति को "यदि कुछ नहीं तो होना चाहिए" पंक्ति के रूप में चुनने का फैसला किया क्योंकि इसे गोल्फिंग के बाद भी प्रतिनिधित्व करने के लिए सबसे अधिक बाइट्स की आवश्यकता थी।


प्रोग्रामिंग पहेलियाँ और कोड गोल्फ में आपका स्वागत है! @JuanPotato बनाने के लिए टिप्पणियों का उपयोग करें। हालांकि, कि 50 प्रतिनिधि की जरूरत है। इसलिए आपको काम करने की जरूरत है।
user48538

3

पर्ल 6, 128 बाइट्स

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

मैं एक स्ट्रिंग शाब्दिक स्थान के साथ चरित्र वर्गों वाले रेगेक्स की एक सूची बनाता हूं। मैं तब firstसूची पर विधि को कॉल करता हूं (जो firstउच्च क्रम फ़ंक्शन का सिर्फ विधि संस्करण है ), सूची में वर्तमान आइटम के खिलाफ कार्यक्रम में दिए गए तर्क की तुलना करने के लिए स्मार्टमैच का उपयोग करता है। ध्यान दें कि स्मार्टमैच रेगेक्स और एक स्ट्रिंग शाब्दिक दोनों के लिए "सही काम" करता है। :kकरने के लिए वैकल्पिक पैरामीटर firstका कारण बनता है विधि सूची में मिलान के आइटम के सूचकांक वापस जाने के लिए है, जो मैं तो के माध्यम से और उत्पादन में 1 जोड़ देते say

ध्यान दें कि इस कार्यक्रम का उपयोग करते समय आपको अपने शेल में `और अंतरिक्ष जैसे कुछ वर्णों को ठीक से बचाना होगा। उदाहरण के लिए: perl6 keyboard.p6 \ `


चूँकि किसी ने अभी तक यह नहीं कहा था, प्रोग्रामिंग पहेलियाँ और कोड गोल्फ में आपका स्वागत है!
आउटगॉल्फ

2

जावास्क्रिप्ट ईएस 6, 114 बाइट्स

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

एक और जावास्क्रिप्ट समाधान। सिद्धांत पंक्ति 4 के सरणी में इनपुट चार्ट के सूचकांक को वापस करना है (इसलिए 0-9 पंक्ति रिटर्न -1, अर्थात मौजूद नहीं है, -1 + 2 = 1 qसरणी के पहले स्ट्रिंग में है। इसलिए यह 0 + 2 = 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, आदि का सूचकांक मिलता है)।
चट्टरऑन

यह संवेदनशील है कि आप इनपुट कैसे प्रदान करते हैं। आप शायद एक चरित्र प्रदान कर रहे हैं जिसके बाद एक नई पंक्ति है। मैं echoइनपुट को ठीक से नियंत्रित करने के लिए उपयोग करता हूं - उदाहरण के लिए। echo -n q|perl -n key.pl, जो सही ढंग से उत्पादन करता है 2
मार्क

ओह मैं समझा। ठीक है, यह भी बताता है कि आप chompइनपुट क्यों नहीं करते हैं।
चट्टरऑन

1
यदि मैं chompइनपुट संपादित करता हूं, तो मैं वापसी कुंजी के लिए '3' वापस नहीं कर पाऊंगा।
मार्क

1
हे @ मर्क, आपको $_=~मैचों की आवश्यकता नहीं है , m//(जो /.../है) वह $_स्वचालित रूप से काम करता है ! इसके अलावा अगर आप के -pबजाय -nआप का उपयोग करें एक जोड़े और बाइट्स को बचाने $_=के printलिए उपयोग कर सकते हैं । के बजाय एक शाब्दिक newline का उपयोग \nकर आप एक और बाइट भी बचा सकता है! जिससे आपका कोड काफी कम हो जाए! उदाहरण के उपयोग के साथ-साथ किसी को भी जोड़ने के लायक हो सकता है इसलिए किसी भी परीक्षण को जानता है कि आपको उपयोग करने की आवश्यकता है echo -n:)
डोम हेस्टिंग्स

2

PHP, 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 132 127 बाइट्स

#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-2001 से उपयोग करता है और POSIX.1-2008 में पदावनत किया जाता है। यह ASCII और 32 बिट इनट्स को मानता है।


2

पायथन 3, 89 बाइट्स

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

जैसा कि मैंने अभी तक टिप्पणी नहीं की है, मैं वर्तमान पायथन 3 उत्तर के लिए सुधार को अलग से पोस्ट कर रहा हूं ।

संपादित करें : printअभी और आगे में सभी कोड ।


यह केवल एक स्निपेट है और इसलिए एक मान्य उत्तर नहीं है, आपको इसे एक प्रिंट स्टेटमेंट (इसे एक पूर्ण कार्यक्रम बनाते हुए) में लपेटने या किसी फ़ंक्शन में बदलने की आवश्यकता है।
FlipTack

@ फीलटैक: आप सही कह रहे हैं। मैंने आपके सुझाव को शामिल किया है।
क्रिएटिव

PPCG में आपका स्वागत है!
मार्टिन एंडर

@MartinEnder: धन्यवाद! :-)
क्रिएटिव


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

SpecBAS - 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
मैं यह देखने के लिए काम नहीं कर सकता ~ या `?
ऐश बर्लज़ेंको

@AshBurlaczenko, धन्यवाद! मुझे वह चाबी याद आ गई। मेरे स्कोर में कोई बदलाव नहीं हुआ।
हाथ-ई-फूड

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 बाइट्स मुंडा होगा ...

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.