ब्रेनफ *** कनवर्टर के लिए टाइनीबीएफ


9

हमारे पास TinyBF कनवर्टर करने के लिए एक ब्रेनफ *** है, लेकिन दूसरे तरीके से नहीं, इसलिए यहां एक है।

नियम:

  • आपके दुभाषिए को एक लाइन पर एक मान्य TinyBF प्रोग्राम लेना चाहिए, और इसे संबंधित ब्रेनफ *** प्रोग्राम को एक लाइन पर वैकल्पिक अनुरेखण व्हॉट्सएप / न्यूलाइन के साथ आउटपुट करना होगा। किसी भी प्रमुख व्हाट्सएप की अनुमति नहीं है
  • इनपुट में चार TinyBF वर्णों में से कोई भी वर्ण नहीं हो सकता है या नहीं हो सकता है। यदि हां, तो आपको इन सभी वर्णों को एक ही स्पॉट में प्रिंट करना होगा।
  • 1 अप्रैल को एक उत्तर स्वीकार किया जाएगा (मजाक नहीं), कुछ अस्पष्ट मानदंडों के आधार पर मैं (jk) का उपयोग करूंगा (मैं निम्नलिखित नियमों द्वारा धोखा नहीं देने वाले सबसे छोटे कार्यक्रम को स्वीकार करूंगा)
  • कोई 0-बाइट या 1-बाइट समाधान नहीं है, क्योंकि यह मज़े को बर्बाद कर देता है यदि आप इस उद्देश्य के लिए (या वहाँ प्रोग्रामिंग भाषा) बनाते हैं)

परीक्षण के मामलों


इनपुट 1: +++++>+++++=>=|>>+=>>+|=>|>+=>+|(गणना 5 (बाइट 1) + 5 (बाइट 2) = 10 (बाइट 3))
आउटपुट 1:+++++>+++++<[>>+<<-]>[>+<-]

इनपुट 2: +++>++++Hi+++:P+=>=|>|>+>+=>>&&+|=>>|=>>=+!!>>=+|>>>+|(गणना 3 (बाइट 1) * 8 (बाइट 2) = 24 (बाइट 3)) आउटपुट 2:+++>++++Hi+++:P+<[>[>+>+<<&&-]>>[<<+!!>>-]<<<-]


क्या कभी I / O कमांड होंगे?
lirtosiast

नहीं, क्योंकि TinyBF में IO कमांड नहीं हैं।
हाइपरएन्यूट्रीनो

वह गलत है; ==brainfuck की है .
डेनिस

जवाबों:


1

पायथन 2, 106 बाइट्स

a=0
r=''
for c in input():a=[a,~a][c=='='];r+={'+':'+-','>':'><','|':'[]'}.get(c,c)[a%-2]*(c!='=')
print r

जैसा कि यहां पाया गया TinyBF विनिर्देश लागू करता हैइसे ऑनलाइन आज़माएं@ डीका के उत्तर से तकनीकों का उपयोग करके सुधार किए गए थे । उद्धृत स्ट्रिंग इनपुट की आवश्यकता है।


यह मेरे सभी परीक्षण मामलों के लिए काम करता है! बहुत बढ़िया।
हाइपरएन्यूट्रीनो

आप के साथ 5 बाइट्स बचा सकते हैं r+=b.get(c,c+c)[a]*(c!='=')। आप लूप के लिए 3 और बचाने के लिए एक लाइन भी बना सकते हैं। आप 4 से अधिक को बचाने के लिए ताना को इनलाइन कर सकते हैं। Inlining input()एक और है 4.
मॉर्गन थ्राप

इसके अलावा, आपको raw_inputपायथन 3 का उपयोग करने या स्विच करने की आवश्यकता है और इसके लिए बाइट का जुर्माना लेना होगा print। अभी मुझे मिलता है SyntaxError: invalid syntax
मॉर्गन थ्राप

@ मैं अपना जवाब आप पर आधारित करता हूं, लेकिन मुझे लगता है कि यह ठीक है क्योंकि संशोधन भारी हैं, मुझे बताएं कि क्या आप चाहते हैं कि मैं इसे हटा दूं
Dica

@MorganThrapp इनपुट उद्धृत किया गया है, इसलिए यह 2 के लिए काम करता है। उद्धृत स्ट्रिंग इनपुट को एक मेटा पोस्ट के अनुसार अनुमति दी जाती है कि मैं अभी नहीं मिल सकता क्योंकि मैं मोबाइल पर हूं।
मेगो

2

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

यह स्क्रिप्ट @ मीगो के उत्तर पर आधारित है

a=0
for c in input():a-=c=='=';print({'+':'+-','>':'><','|':'[]'}.get(c,c)[a%-2]*(c!='='),end='')

3
मुझे लगता है कि यह भी मीगो के जवाब के समान है और एक टिप्पणी में अनुकूलन के रूप में सुझाव दिया जाना चाहिए था।
mbomb007

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