वर्ड वर्तनी परीक्षक को भ्रमित करें!


12

आपका कार्य एक प्रोग्राम बनाना है जो किसी भी लम्बाई के शब्द का इनपुट ले लेगा , कैलीबरी फॉन्ट में। यह शब्द अक्षर वर्णों से बना होगा जो एक सामान्य QWERTY कीबोर्ड पर पाए जाते हैं। कोई उच्चारण या कोई अन्य वर्ण (यानी विराम चिह्न, संख्या आदि) नहीं होगा।

तो, मूल वर्ण हैं:

ABCDEFGHIJKLMNOPQRSTU VWXYZ

यह कार्यक्रम वर्णों को बदलने के लिए इसे फिर से स्क्रैम्बल करेगा ताकि वे समान या बिल्कुल समान दिखें, जो संभवत: किसी स्पेल चेकर को हरी झंडी दिखा कर भ्रमित कर देगा, लेकिन यह मुझे भ्रमित करेगा क्योंकि यह अपरिवर्तित वर्ण के साथ सामान्य शब्द के समान दिखता है।

इसका एक उदाहरण यूनिकोड वर्ण U+0430, सिरिलिक छोटा अक्षर a ("а") है, जो यूनिकोड वर्ण U+0061, लैटिन छोटे अक्षर a (("a") के समान दिख सकता है, जो अंग्रेजी में प्रयुक्त "a" है।

एक अन्य उदाहरण है रूसी अक्षर а, с, е, о, р, х और तुम्हारा के पास मूल लैटिन वर्णमाला में ऑप्टिकल समकक्ष हैं और एक, सी, ई, ओ, पी, एक्स और वाई के करीब या समान दिखते हैं।

नियम:

  1. कार्यक्रम में समान वर्णों पर काम करना होता है। इसका मतलब है कि उन्हें किसी भी रूप में संग्रहीत नहीं किया जा सकता है । इसका मतलब यह है कि यूनिकोड मूल्य या स्वयं चरित्र।
  2. यह एक कोड गोल्फ है - सबसे छोटा उत्तर जीतता है!
  3. तुम भी ungolfed संस्करण पोस्ट करने के लिए धोखा है कि पता नहीं किया जा सकता से बचने के लिए जब इसकी गोल्फ है!
  4. आप ऐसा करने के लिए किसी भी फ़ंक्शन या प्रोग्राम का उपयोग कर सकते हैं, जब तक कि वहां शब्द संग्रहीत न हों।
  5. आपको UTF-8 का उपयोग करना चाहिए। अन्य इनपुट और आउटपुट पर प्रतिबंध लगा दिया गया है। ऐसा इसलिए है कि मैं वास्तव में पढ़ रहा हूं कि आप क्या आउटपुट कर रहे हैं, और मैं क्या इनपुट कर रहा हूं, इसलिए मेरे पास वर्गों, प्रश्नवाचक चिन्ह और ❮ther rand❮m punctuati❮n का यादृच्छिक द्रव्यमान नहीं है!
  6. यह किसी भी शब्द के साथ काम करना है जिसे मैं इनपुट करता हूं।

एक काम करने वाला उदाहरण (इसे शब्द में कॉपी और पेस्ट करें और इसके बाद एक स्थान डालें, इसे दूसरे को ध्वजांकित करना चाहिए और पहले को नहीं।)

Halim 
Hаlim  

कुछ उपयोगी जानकारी यहाँ है

शुभ लाभ! शुरू


1
मुझे लगता है कि यह लोकप्रियता-प्रतियोगिता के बजाय कोड-गोल्फ के लिए एक महान उम्मीदवार है ।
प्रोग्रामरडैन

@ProgrammerDan के साथ यह सवाल है कि कोड-गोल्फ क्या है, कितने वर्णों को प्रतिस्थापित किया जाना है और उन्हें वैध होने के लिए उत्तर की तलाश करने की अनुमति कैसे दी जाती है?
मार्टिन एंडर

1
किसी भी स्थिति में, "वर्तनी जाँचक को भ्रमित करें" की परिभाषा अच्छी होगी। कौन सा वर्तनी परीक्षक? इसके अलावा, हमारे इनपुट वर्णमाला क्या है? आउटपुट वर्णमाला? मेरा सुझाव है कि आप एक लोकप्रिय ऑनलाइन वर्तनी जाँच उपकरण निर्दिष्ट करें, और एक एन्कोडिंग निर्दिष्ट करें, जैसे कि UTF-8।
रेनबोल्ट

मैंने आपकी टिप्पणियों को बोर्ड पर ले लिया है और कुछ चीजों को बदल दिया है - सलाह के लिए धन्यवाद :)
जॉर्ज

यह एक महान अप्रैल फूल का शरारत होता अगर मैंने कुछ दिन पहले यह पूछा होता!
जॉर्ज

जवाबों:


12

जावास्क्रिप्ट, 71 वर्ण

function f(s){return "\u202E"+s.split("").reverse().join("")+"\u202C";}

इसे JSFiddle पर आज़माएं।

वैसे, यह कॉफीस्क्रिप्ट ( 53 अक्षरों ) में एक अच्छा सा छोटा होगा

f=(s)->"\u202E#{s.split('').reverse().join ''}\u202C"

संपादित करें: मैंने अभी देखा कि UTF-8 आवश्यकता। यह जावास्क्रिप्ट में कठिन होने जा रहा है। : - /


इस उत्तर को गलत मत समझो - यह एक अच्छा है, लेकिन नियमों को थोड़ा बदलने से पहले इसे पोस्ट किया गया था। आपको एक शब्द भी इनपुट करना होगा और यह केवल हार्डकोड नहीं किया जा सकता। क्षमा करें।
जॉर्ज

@GeorgeH फ़ंक्शन किसी भी मनमाने पाठ (केवल एक शब्द नहीं) को लेता है। यह सिर्फ JSField है जो एक विशिष्ट उदाहरण के साथ उपयोग को दिखाता है।
मार्टिन एंडर

1
ओह, क्षमा करें, मैंने पहले कभी JSFiddle का उपयोग नहीं किया है! अब यह वास्तव में उलझन में है शब्द - यह सोचता Georgeहै Egretऔर अन्य सामान है!
जॉर्ज

5
हम्म ... मैं बेतरतीब ढंग से कुछ शब्दों को अपने कार्य का परीक्षण करने के लिए चुना है, लेकिन यह काम नहीं करता ... शब्द मैं उठाया थे level, rotor, racecar, referऔर kayak
user12205

1
@ टेस टच। : पी
मार्टिन एंडर

9

पायथन 3 - 51

print(''.join(chr(ord(c)+0xFEE0)for c in input()))

आलसी रास्ता!

थोड़ा अनगढ़

r=''
for c in input():
    r += chr(ord(c) - 0x20 + 0xFF00) # convert to fullwidth ASCII range
print(r)

क्या आप एक अनप्लग्ड संस्करण पोस्ट कर सकते हैं? धन्यवाद!
जॉर्ज

हो गया, यह स्वयं को
समझाना

यदि आप इसे IDLE में उपयोग करते हैं, तो आप इसे हटा सकते हैं print()- इसे वैसे भी प्रिंट कर देंगे
chill0r

आप हेक्साडेसिमल नंबर FEE0 को दशमलव संख्या (65248) में बदलकर एक बाइट बचा सकते हैं।
0WJYxW9FMN

8

आम लिस्प, 142

मेरे पास कैलीबरी नाम का कोई फ़ॉन्ट नहीं है, और मेरे अधिकांश फोंट में इन प्रतीकों की कमी है, लेकिन DejaVu Sans उनके पास है। मैं गणितीय अल्फ़ान्यूमेरिक प्रतीकों के साथ पत्रों को प्रतिस्थापित करता हूं । वर्तनी परीक्षक किसी भी त्रुटि को चिह्नित नहीं करता है। इसके बजाय, यह त्रुटियों का पता लगाने में विफल रहता है, भले ही शब्दों में स्पष्ट टाइपो हो।

golfed:

(ignore-errors(do(c)(())(setf c(char-code (read-char)))(write-char(code-char(cond((< 64 c 91)(+ c 120159))((< 96 c 123)(+ c 120153))(t c))))))

Ungolfed:

(ignore-errors      ; Ignore when (read-char) signals end of file.
  (do (c) (())      ; Loop forever with variable c.
    (setf c (char-code (read-char)))
    (write-char
     (code-char
      (cond
         ;; Replace A to Z with U+1D5A0 to U+1D5B9.
         ((< 64 c 91) (+ c 120159))
         ;; Replace a to z with U+1D5BA to U+1D5D3.
         ((< 96 c 123) (+ c 120153))
         ;; Keep other characters.
         (t c))))))

प्रयोग

  • clisp asconfuse.lisp <in >out
  • ecl -shell asconfuse.lisp <in >out
  • sbcl --script asconfuse.lisp <in >out

मुझे लगता है कि आपके लिस्प दुभाषिया में यूनिकोड का समर्थन है और आपका स्थान UTF-8 है। उपयोग न करें abcl, क्योंकि इससे मूल बहुभाषी विमान के बाहर की समस्याएं हैं।

यूनिक्स क्लोन: आप localeएक टर्मिनल में चला सकते हैं । यदि LC_CTYPE के लिए लाइन UTF-8 का उल्लेख नहीं करती है, तो प्रयास करें export LC_CTYPE=en_US.UTF-8

उदाहरण

मैंने लिबरऑफिस में कुछ आउटपुट चिपकाया। मेरे पाठ में स्पष्ट वर्तनी की त्रुटियां हैं, लेकिन लिबरऑफिस उनका पता लगाने में विफल रहता है। यह शब्दों के नीचे कोई लाल स्क्विगल्स नहीं खींचता है, और वर्तनी-जांच बटन केवल रिपोर्ट करता है, "वर्तनी जाँच पूरी हो गई है।"

लिब्रे ऑफिस

पाठ है, "𝖭𝗈𝗐𝗐 𝗂𝗓 𝖭𝗈𝗐𝗐 𝖭𝗈𝗐𝗐 𝖭𝗈𝗐𝗐 𝖭𝗈𝗐𝗐 𝖭𝗈𝗐𝗐 𝖭𝗈𝗐𝗐 𝖭𝗈𝗐𝗐 𝖭𝗈𝗐𝗐 𝖭𝗈𝗐𝗐 𝖭𝗈𝗐𝗐 𝖭𝗈𝗐𝗐 𝖭𝗈𝗐𝗐 𝖭𝗈𝗐𝗐 𝖭𝗈𝗐𝗐"। फ़ायरफ़ॉक्स भी इस पाठ में वर्तनी की कोई त्रुटि नहीं पाता है।


5

दिल्लोग एपीएल , 7 चरस

∊''∘,¨

उद्धरणों के बीच एक U + FEFF ( शून्य चौड़ाई नो-ब्रेक स्पेस , उर्फ यूनिकोड BOM ) है। यह चरित्र कैलीबरी फ़ॉन्ट में होता है। इस चरित्र ''को तर्क में प्रत्येक चरित्र के लिए तैयार किया गया है, और पूरी चीज को तब चपटा किया गया है ।,¨

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