प्रतीक बनाम पत्र


17

प्रतीक बनाम पत्र

ASCII वर्ण एक बार विभाजित किया गया है फिर से ! आपके सेट द लेटर्स एंड द सिंबल हैं

पत्र

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz

प्रतीक है

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

कार्य दो कार्यक्रम लिखना है:

  1. अपने प्रोग्राम में उनमें से किसी का उपयोग किए बिना प्रत्येक पत्र को एक बार प्रिंट करें ।

  2. अपने कार्यक्रम में उनमें से किसी का उपयोग किए बिना, प्रतीकों में से प्रत्येक को एक बार प्रिंट करें ।

नियम

  • आपके कार्यक्रम या आउटपुट में व्हॉट्सएप दिखाई दे सकता है।
  • गैर- ASCII वर्णों की अनुमति नहीं है।
  • आउटपुट स्टैण्डर्ड आउट या फाइल के रूप में या तो फाइल के कंटेंट या नाम पर जाता है।
  • कोई निवेश नहीं।
  • आउटपुट में केवल एक सेट या दूसरे से ASCII वर्ण होना चाहिए।
  • कार्यक्रम एक अपवाद के साथ विभिन्न भाषाओं या एक ही भाषा में लिखे जा सकते हैं:
  • व्हाइटस्पेस भाषा केवल कार्यक्रमों में से एक के लिए इस्तेमाल किया जा सकता है।
  • मानक खामियां लागू होती हैं।

स्कोरिंग

# of characters in program 1 +# of characters in program 2 =Score

सबसे कम स्कोर जीत!

ध्यान दें:

अधिक प्रस्तुतियाँ प्रोत्साहित करने के लिए, आप अभी भी केवल एक कार्यक्रम के लिए एक समाधान के साथ उत्तर पोस्ट कर सकते हैं। आप जीतने में सक्षम नहीं होंगे, लेकिन फिर भी आप कुछ ठंडा दिखा सकते हैं।

अपने पिछले प्रश्न के साथ विचार को प्रेरित करने के लिए केल्विन के शौक के लिए धन्यवाद ।


4
यह अधिकांश भाषाओं में संभव नहीं है ... उदाहरण के लिए हास्केल में = अपरिहार्य है
गर्व हैस्केलर

1
@proudhaskeller चुनौती का हिस्सा है जहाँ यह संभव है एक भाषा उठा रहा है।
hmatt1

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

@ किसी भी आदेश ठीक है।
hmatt1 17

क्या आपके प्रोग्राम में नियंत्रण वर्ण (कोडपॉइंट्स 0 से 31 और 127) की अनुमति है?
फ़ूजएक्सएक्सएल

जवाबों:


7

कुल: 53 वर्ण

एक ही भाषा में कुल: 230 वर्ण, पायथ

भाग 1: गोल्फस्क्रिप्ट, 15

91,65>123,97>++

आउटपुट:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz

स्पष्टीकरण:

91,           Make the list, [0 1 .. 90]
65>           Take elements after the 65th, [65 66 .. 90]
123,97>       Same, but [97 98 .. 122]
+             Add the list above to the newline character that is automatically pushed to 
              the stack. List + str coerces to string by ascii encoding.
+             Same, for the other list.

भाग 2: अजगर , 38

JhCeGLjkmCdbsrCdCPhGsrhCPeGChGsrJhhhhJ

आउटपुट:

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

स्पष्टीकरण:

G = "abcdefghijklmnopqrstuvwxyz"   Implicit.
k = ""                             Implicit.
d = " "                            Implicit.
JhCeG                              J = 1 + chr(end(G))          # J = 123
L                                  def d(b): return
 jk                                                k.join(
   m                                                      map(lambda d:
    Cd                                                                 chr(d),
    b                                                                  b))
s                                  print(s(                    #print is implicit.
 rCd                               range(chr(d),                 # chr(d) = 32
 CPhG                                    chr(upper(head(G))))    # chr("A") = 65
srhCPeGChG                         print(s(range(1+chr(upper(end(G))),chr(head(G)))
srJhhhhJ                           print(s(range(J, 1+1+1+1+J)))

बोनस समाधान:

भाग 1: पायथ, 192

%*$"%\143"$52(65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122

स्पष्टीकरण:

$"%\143"$=> "% c"। $पायथन पार्सिंग शैली से और पायथन स्ट्रिंग पार्सिंग से स्विच करने के लिए, \143ऑक्टल एस्केप अनुक्रम है c। यह उत्तर इस प्रकार निम्नलिखित पायथन-शैली कोड के बराबर है:

("%c" * 52) % (65, 66, 67, ...)

बेशक, यह पायथन में काम नहीं करता है, क्योंकि पायथन में मुद्रण का उपयोग होता है print, लेकिन पायथन में मुद्रण निहित है, इसलिए यह काम करता है।


सवाल पूछने के बाद से पायथ सॉल्यूशन जोड़े गए किसी भी फीचर का उपयोग नहीं करते हैं।


मैं पायथ कहाँ सीखता हूँ? उदाहरणों से?
सोहम चौधरी

@SohamChowdhury उदाहरण शुरू करने के लिए एक अच्छी जगह है। डॉक्स पढ़ना संभवतया अगला चरण है - प्राथमिक निर्देशिका में doc.txt। अंतिम चरण -d (डीबग) ध्वज का उपयोग करते हुए, इसके साथ स्वयं खेलना शुरू करना है। सॉफ्टवेयर बहुत नया है और इसलिए कुछ भी बेहतर मौजूद नहीं है। जहां तक ​​मुझे पता है, केवल 3 लोगों ने कभी इसका उपयोग किया है, और मैं केवल एक ही हूं जिसने इसे नियमित रूप से उपयोग किया है। सौभाग्य, आनंद।
isaacg

23

पायथन (प्रतीक, 87 82)

from string import punctuation
from string import digits
print digits
print punctuation

मुझे सिर्फ पायथन के स्ट्रिंग मॉड्यूल से प्यार है ...

संपादित करें:

from string import punctuation as p
from string import digits as d
print d
print p

आउटपुट:

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

FALSE (पत्र, 21) DUP (पत्र, 20):

FALSE समाधान:

65[$91\>][$,$32+,1+]#

डीयूपी सॉल्यूशन (1 चार्ट छोटा)

65[$91<][$,$32+,1+]#

आउटपुट (दोनों के लिए):

AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz

FALSE के लिए दुभाषिया।


कुल: 102


1
वाह, बहुत अच्छा! मैंने देखा है लोग कहते हैं कि यह अजगर में नहीं किया जा सकता है, अच्छी तरह से किया।
hmatt1

from string import*समान रूप से अच्छी तरह से काम करता है और बाइट की गिनती में कटौती करता है।
एग्लासर

5
@aglasser ... लेकिन *इस संदर्भ में प्रयोग करना वर्जित है ...
ʇǝɥʇıʎu Augs

4
आप सही हैं, विश्वास नहीं कर सकता कि मैं भूल गया था * एक प्रतीक हाहा था। यह बताता है कि आपने ऐसा क्यों नहीं किया from string import punctuation, digits। अच्छा समाधान जो नियमों का पालन करता है। मेरी गलती के लिए क्षमा करें!
एग्लासर

13

गोल्फस्क्रिप्ट (14 वर्ण) + डेडफ़िश x (116 वर्ण) = 130 वर्ण

91,65>{.32+}%+

तथा

xxcxxcdddKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKDxxxccxxxxxxxxxxKxKxKxKxKxKDxxxcxxcxxKxKxKxK

2
+1 अब तक चार भागों में से पहला होने के लिए वास्तव में दोनों भागों का जवाब देता है।
जियोबिट्स

10

रूबी 2, 56 + 484 = 540 में भाग 1 और 2

भाग 1:

__=->_{(91..96)===_||$><<(''<<_);_>121||__[-~_]}
__[65]

रूबी की इस शैली पर अधिक जानकारी के लिए देखें narfnme देखें

भाग 2 (यह बिट रूबी 2.0+ ही है, रूबी-2.1.0 के साथ पूरी तरह से काम करता है, लेकिन पहले के संस्करणों में चेतावनी दे सकता है):

class Fixnum
def c
String def a
end
end
def b
String def A
end
end
def x
String def z
end
end
def y
String def Z
end
end
def inspect
case chr
when c
when b
when y
p succ
else
print chr
p succ
end
p
rescue
p
end
end
def x
String def z
end
end
def y
String def Z
end
end
class String
def inspect
p size
p
end
end
p String p
class String
def inspect
p ord
p
end
end
p y
class Fixnum
def inspect
case chr
when x
p succ
else
send chr
print chr
p
end
p
rescue
print chr
p succ
p
end
end
p x

वह एक मुश्किल था। कॉलिंग में निर्मित की तरह Fixnum तरीकों chrऔर succFixnum वर्ग खोलने और फिर से परिभाषित करने की आवश्यकता है inspect, के बाद से मैं के लिए एक कॉल ट्रिगर कर सकते हैं x.inspectके साथ p x। मुझे लौटने के लिए निरीक्षण की आवश्यकता है । सौभाग्य से, ascii वर्ण उस सीमा में, केवल एक ही है जिसे किसी त्रुटि के बिना कोई तर्क के साथ एक Fixnum पर बुलाया जा सकता है, इसलिए मैं उपयोग कर सकता हूंnil ताकि pकेवल एक नई पंक्ति प्रिंट हो, किसी भी स्ट्रिंग को दोहरे उद्धरण चिह्नों में तैयार किया जाएगा। लेकिन एक साइड इफेक्ट के रूप में, यह छोरों। जब मैं एक पत्र श्रेणी में पहुँच गया हूँ, तो यह देखने के लिए कि मैं तुलना करने के लिए पहले लूप और दूसरे छोरों को एक स्ट्रिंग तुलना का उपयोग करके समाप्त कर सकता हूं, लेकिन जब से मैं एक स्ट्रिंग शाब्दिक नहीं लिख सकता, मुझे कॉल करके एक प्राप्त करने की आवश्यकता हैString() लौटे प्रतीक पर (रूबी 2 में)def कीवर्ड द्वारा । चूंकि यह एक बहु-विषय वाक्य रचना है और मैं केवल स्ट्रिंग तुलना कर सकता हूंcase, जो बहुस्तरीय अभिव्यक्ति नहीं ले सकता है, मुझे एक विधि में शाब्दिक रूप से लपेटने की आवश्यकता है (क्योंकि मैं स्पष्ट रूप से असाइनमेंट नहीं कर सकता)। अंतिम लूप को समाप्त करना कठिन है। मुझे इसे रोकने की आवश्यकता है~~send chr अंत में होने पर पता लगाने के लिए कर सकता हूं और लूप बंद हूं।

इस धागे में सर्वश्रेष्ठ स्कोर नहीं है, लेकिन इस प्रकार केवल वही है जो दोनों भागों के लिए एक ही भाषा का उपयोग करता है। याय रूबी।


1
+ 1'ed आपके 2 उत्तर से पहले भी, cuz 'जानता था कि यह आएगा। रूबी के लचीलेपन को सीमाओं में धकेलने का सम्मान।
vectorized

पहले / केवल उत्तर के लिए +1 जो एक ही भाषा में दोनों कार्यक्रम प्रदान करता है। अब तक यह स्पष्ट विजेता आईएमओ है। मैंने रूबी 2 स्थापित नहीं किया है, लेकिन इस काम पर भरोसा है।
डिजिटल ट्रामा

8

भाग 2, 654 में

प्रतीक्षा करें ... " Applescript में गोल्फिंग के लिए युक्तियाँ " पृष्ठ कहाँ है?

global a
global b
global c
global s
on f at n
set end of b to a
end
on g at n
f at a
f at a
end
on h at n
g at a
g at a
end
on i at n
h at a
h at a
end
on j at n
repeat with t in system info
f at a
end
end
on m at n
set end of b to a
set c to count of b
set end of s to ASCII character c
end
on n at n
m at a
m at a
m at a
end
on o at n
repeat with t in system info
m at a
end
end
set a to random number
set b to a as list
j at a
j at a
set c to count of b
set s to ASCII character c
set s to s as list
o at a
n at a
n at a
n at a
n at a
n at a
j at a
i at a
g at a
f at a
n at a
m at a
m at a
j at a
i at a
g at a
n at a
m at a
display dialog s as text

आउटपुट:

यहाँ छवि विवरण दर्ज करें


1
मुझे पता था कि एक अप्प्सस्क्रिप्ट सिलेबस होगा। यहाँ, एक +1 है।
atı 8uʎs

4

CJam + AlphaBeta , 62 बाइट्स


पत्र, सीजेएम , 12 बाइट्स

"[{"{,-26>}/

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

उत्पादन

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz

यह काम किस प्रकार करता है

"[{"{     }/   For each of the characters "[" and "{",
     ,         push an array of all ASCII characters before it
      -26>     and discard all but the last 26 characters.

प्रतीक, अल्फाबेटा , 50 बाइट्स

ZaaAccctFUaCLOrEbbCLbCLbCLbCLdddACLbCLbCLgDLgDLgDL

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

आधिकारिक C ++ दुभाषिया में एक बग होता है जो लूप को असंभव बनाता है और मैं यह पता नहीं लगा सकता कि लुआ दुभाषिया का उपयोग कैसे करें। मैंने उस बग को ठीक किया। आप यह सत्यापित कर सकते हैं कि यह EsoLang पृष्ठ से उदाहरण कार्यक्रमों को चलाने के रूप में काम करता है।

उत्पादन

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

यह काम किस प्रकार करता है

Z      Switch register 4 to the position register.
aa     Set registers 1 to 2.
A      Copy the value from register 1 to register 2.
ccc    Add 30 to register 1 (result: 31).
tF     Set register 2 to the product of registers 1 and 2 (result: 64).
U      Add 10 to the position register (result: 10, i.e., the position of the next byte).
aCL    Add 1 to register 1 and print the corresponding ASCII character.
O      If register 1 != register 2, go to the position in the position register.
rEb    Set register 1 to the sum of registers 1 and 2 minus 1 (result: 127).
bCL    Subtract 1 from register 1 and print the corresponding ASCII character.
bCL    Subtract 1 from register 1 and print the corresponding ASCII character.
bCL    Subtract 1 from register 1 and print the corresponding ASCII character.
bCL    Subtract 1 from register 1 and print the corresponding ASCII character.
ddd    Subtract 30 from register 1 (result: 93).
A      Copy the value from register 1 to register 2.
CL     Print the ASCII character corresponding to register 1.
bCL    Subtract 1 from register 1 and print the corresponding ASCII character.
bCL    Subtract 1 from register 1 and print the corresponding ASCII character.
gDL    Add 1 to register 2 and print the corresponding ASCII character.
gDL    Add 1 to register 2 and print the corresponding ASCII character.
gDL    Add 1 to register 2 and print the corresponding ASCII character.

3

ब्रेनफैक में भाग 1: 80 74 बाइट्स

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

>अनुपस्थित कोड इंडेंटेशन के कारण आप पहले खो सकते हैं । इसलिए इसे एक उद्धरण के रूप में प्रस्तुत किया गया है।
फाल्को

@ फालो ध्यान देने के लिए धन्यवाद, मुझे वह याद आया।
१२

3

कुल 318 बाइट्स

मैं वास्तव में एक ही भाषा में दोनों कार्यक्रमों के साथ एक जवाब जानने की उम्मीद कर रहा था, लेकिन अभी तक कुछ भी नहीं। इसके बजाय यहाँ है:

भाग 1: शुद्ध बैश, 129 बाइट्स

_0=`$ 2>&1`
_0=${_0##*:}
_1=${_0:5:1}
_5=${_0:1:1}$_1${_0:11:1}
. <($_5<<<_2=\({${_1^}..$_1}\))
_3=${_2[@]:0:26}
$_5<<<$_3${_3,,}

आउटपुट:

$ ./letsym.sh
A B C D E F G H I J K L M N O P Q R S T U V W X Y Za b c d e f g h i j k l m n o p q r s t u v w x y z
$ 

भाग 2: जीएनयू डीसी, 189 बाइट्स

zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzPzzPzzPzzPzzPzzPzzPzzPzzPzzPzzPzzPzzPzzPzzPzzPzzPzzPzzPzzPzzPzzPzzPzzPzzPzzPzzPzzPzzPzzPzzPzzPzzzzzzzzzzzzzzzzzzzzzzzzzzzzPzzPzzPzzPzzPzzPzzBDPBEdPBFPdkvZP

आउटपुट:

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

2

ठीक है, तुम्हें पता है, किसी को यह हो जाना चाहिए।

ब्रेनफैक में भाग 1: 174 बाइट्स

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+++++++
.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.

1

भाग 1: रूबी, 45 बाइट्स

_=[*?@...?[,*?`...?{]
_[0],_[27]=*$_
$><<_*''

व्याख्या

  • ?@...?[Az युक्त रेंज ( ) और AZ युक्त रेंज ( ?`...?{) एरे के तत्व बन जाते हैं_ जो स्पैट ऑपरेटर ( *) का उपयोग करते हैं ।
  • सरणी का 0 "@"वां तत्व ( "`") और 27 वां तत्व ( )_ सेट हैं nil
  • सरणी _का उपयोग कर एक साथ जुड़ जाता है Array#*और stdout ( $>) में मुद्रित हो जाता है

आप (या ) के *$_साथ दूसरी पंक्ति पर प्रतिस्थापित कर सकते हैं । p[]
जॉर्डन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.