কোয়েন যা কোনও ভাষার নাম ইনপুট হিসাবে নেয় এবং ইনপুট ভাষায় প্রয়োগ করা একই জিনিসকে আউটপুট দেয়


15

কুইন কেন্দ্রীয় থেকে :

একটি কুইন লিখুন যা কোনও ভাষার নাম ইনপুট হিসাবে গ্রহণ করে এবং ইনপুট ভাষায় প্রয়োগ করা একই জিনিসটিকে আউটপুট করে।

উত্স নিবন্ধে এমন কিছু জিনিস রয়েছে যা থেকে আপনি কাজ করতে পারেন তবে লেখক যেমন বলেছেন এটি এটি আরও শক্ত। স্পষ্টতই আপনার কেবলমাত্র ভাষাগুলির একটি সীমিত সেট সমর্থন করা প্রয়োজন। পছন্দটি যদিও আপনার, তেমনি বেস ভাষাও।

হিসাবে , আপনার স্কোরটি আপনার প্রোগ্রামটি যে ভাষাগুলি সমর্থন করে তার সংখ্যা হবে; উঁচুই ভালো.



"ভাষার সংখ্যা" সংজ্ঞা দিন।
অ্যাডম

@ অ্যাডাম: আচ্ছা, চ্যালেঞ্জের মূল বিষয়টি এমন একটি প্রোগ্রাম লিখুন যা ভাষার একটি সেটকে সমর্থন করে, নিম্নরূপ: এটিকে ইনপুট হিসাবে কোনও ভাষার নাম দেওয়া সেই ভাষায় একটি সমতুল্য প্রোগ্রাম আউটপুট করে। প্রোগ্রামটি যে ভাষাগুলিতে কাজ করে সে সংখ্যাটি সেটের আকার। এটি আমার চ্যালেঞ্জ নয় (কেবলমাত্র আমি উদ্বিগ্ন হয়েছি), তাই আমি মনে করি না যে কোণার ক্ষেত্রে "অফিসিয়াল" উত্স আছে; তেমনি, আমরা অর্থের পরিবর্তন না করেই আরও ভালভাবে পরিষ্কার করার চ্যালেঞ্জটিকে আমরা সম্মিলিতভাবে সম্পাদনা করতে পারি এবং করা উচিত।

@ ais523 ইনপুট গ্রহণ করে এবং এর সাথে কিছুই করে না এমন বহুগ্লাইট কুইন লিখতে আমাদের কী থামাবে? যে এই নিয়ম অনুযায়ী নিখুঁত আইনি হতে চাই।
mbomb007

@ এমবম্ব ২০০7: এটি আইনী, তবে প্রশ্নের উত্তর দেওয়ার সহজ উপায় নাও হতে পারে। পলিগ্লট কুইনগুলি প্রায়শই অতিরিক্ত ভাষাগুলিতে মাপসই করা শক্ত হতে পারে, যদিও বর্তমানে কথিত প্রশ্নটির জন্য আপনাকে বহুভক্ত লেখার প্রয়োজন নেই (এবং সর্বজনীন কুইন কনস্ট্রাক্টরগুলির সেট দ্বারা সমাধান করা যেতে পারে, প্রতিটি ভাষাতেই আপনি ব্যবহার করেন)।

উত্তর:


4

চুনি

require 'json';s=%q[{"ruby":[" %q[","require 'json';s=##;j=JSON.load s;puts j[l=gets.chomp][1].sub('##',j[l][0].delete(' ')+s+j[l][2].delete(' '))"," ]"],"python":["' ''","import json,re;s=##;j=json.loads(s);l=raw_input();print(re.sub('##',j[l][0].replace(' ','')+s+j[l][2].replace(' ',''),j[l][1],1))","' ''"]}];j=JSON.load s;puts j[l=gets.chomp][1].sub('##',j[l][0].delete(' ')+s+j[l][2].delete(' '))

পাইথন

import json,re;s='''{"ruby":[" %q[","require 'json';s=##;j=JSON.load s;puts j[l=gets.chomp][1].sub('##',j[l][0].delete(' ')+s+j[l][2].delete(' '))"," ]"],"python":["' ''","import json,re;s=##;j=json.loads(s);l=raw_input();print(re.sub('##',j[l][0].replace(' ','')+s+j[l][2].replace(' ',''),j[l][1],1))","' ''"]}''';j=json.loads(s);l=raw_input();print(re.sub('##',j[l][0].replace(' ','')+s+j[l][2].replace(' ',''),j[l][1],1))

উভয় সংস্করণ স্ট্ডিনে ( rubyবা pythonবর্তমানে) ইনপুট নেয় এবং উভয় ভাষায় স্টপআউট আউটপুট উত্পন্ন করে।


1

টার্টল্ড , পাইথন 2 এবং পাইথন 3, 3 টি ভাষা কেবল অনুগ্রহের প্রতিযোগিতা করে

সমস্ত অনলাইনার নিউলাইন দ্বারা ফলোড

Turtlèd

@##'@r,r,r-{ +.r_}r{ +.r_}!!-.(3"';m=ord(input()[-1]);_='x=%r;m=ord(input()[-1]);_=%r;print(_.replace(chr(100)+chr(40),chr(100)+chr(40)+chr(114)+chr(97)+chr(119)+chr(95))%%(x,_) if m==50 else _%%(x,_) if m==51 else x.replace(chr(121),chr(39)))';print(_.replace(chr(100)+chr(40),chr(100)+chr(40)+chr(114)+chr(97)+chr(119)+chr(95))%(x,_) if m==50 else _%(x,_) if m==51 else x.replace(chr(121),chr(39)))"367>;++[ d( d)('.)]d<"x='"))(2"';m=ord(raw_input()[-1]);_='x=%r;m=ord(input()[-1]);_=%r;print(_.replace(chr(100)+chr(40),chr(100)+chr(40)+chr(114)+chr(97)+chr(119)+chr(95))%%(x,_) if m==50 else _%%(x,_) if m==51 else x.replace(chr(121),chr(39)))';print(_.replace(chr(100)+chr(40),chr(100)+chr(40)+chr(114)+chr(97)+chr(119)+chr(95))%(x,_) if m==50 else _%(x,_) if m==51 else x.replace(chr(121),chr(39)))"371>;++[ d( d)('.)]d<"x='"))(d' )#'@r,r,r-{ +.r_}r{ +.r_}!!-.(3"';m=ord(input()[-1]);_='x=%r;m=ord(input()[-1]);_=%r;print(_.replace(chr(100)+chr(40),chr(100)+chr(40)+chr(114)+chr(97)+chr(119)+chr(95))%%(x,_) if m==50 else _%%(x,_) if m==51 else x.replace(chr(121),chr(39)))';print(_.replace(chr(100)+chr(40),chr(100)+chr(40)+chr(114)+chr(97)+chr(119)+chr(95))%(x,_) if m==50 else _%(x,_) if m==51 else x.replace(chr(121),chr(39)))"367>;++[ d( d)('.)]d<"x='"))(2"';m=ord(raw_input()[-1]);_='x=%r;m=ord(input()[-1]);_=%r;print(_.replace(chr(100)+chr(40),chr(100)+chr(40)+chr(114)+chr(97)+chr(119)+chr(95))%%(x,_) if m==50 else _%%(x,_) if m==51 else x.replace(chr(121),chr(39)))';print(_.replace(chr(100)+chr(40),chr(100)+chr(40)+chr(114)+chr(97)+chr(119)+chr(95))%(x,_) if m==50 else _%(x,_) if m==51 else x.replace(chr(121),chr(39)))"371>;++[ d( d)('.)]d<"x='"))(d' )

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

পাইথন 2

x='@##y@r,r,r-{ +.r_}r{ +.r_}!!-.(3"y;m=ord(input()[-1]);_=yx=%r;m=ord(input()[-1]);_=%r;print(_.replace(chr(100)+chr(40),chr(100)+chr(40)+chr(114)+chr(97)+chr(119)+chr(95))%%(x,_) if m==50 else _%%(x,_) if m==51 else x.replace(chr(121),chr(39)))y;print(_.replace(chr(100)+chr(40),chr(100)+chr(40)+chr(114)+chr(97)+chr(119)+chr(95))%(x,_) if m==50 else _%(x,_) if m==51 else x.replace(chr(121),chr(39)))"367>;++[ d( d)(y.)]d<"x=y"))(2"y;m=ord(raw_input()[-1]);_=yx=%r;m=ord(input()[-1]);_=%r;print(_.replace(chr(100)+chr(40),chr(100)+chr(40)+chr(114)+chr(97)+chr(119)+chr(95))%%(x,_) if m==50 else _%%(x,_) if m==51 else x.replace(chr(121),chr(39)))y;print(_.replace(chr(100)+chr(40),chr(100)+chr(40)+chr(114)+chr(97)+chr(119)+chr(95))%(x,_) if m==50 else _%(x,_) if m==51 else x.replace(chr(121),chr(39)))"371>;++[ d( d)(y.)]d<"x=y"))(dy )#y@r,r,r-{ +.r_}r{ +.r_}!!-.(3"y;m=ord(input()[-1]);_=yx=%r;m=ord(input()[-1]);_=%r;print(_.replace(chr(100)+chr(40),chr(100)+chr(40)+chr(114)+chr(97)+chr(119)+chr(95))%%(x,_) if m==50 else _%%(x,_) if m==51 else x.replace(chr(121),chr(39)))y;print(_.replace(chr(100)+chr(40),chr(100)+chr(40)+chr(114)+chr(97)+chr(119)+chr(95))%(x,_) if m==50 else _%(x,_) if m==51 else x.replace(chr(121),chr(39)))"367>;++[ d( d)(y.)]d<"x=y"))(2"y;m=ord(raw_input()[-1]);_=yx=%r;m=ord(input()[-1]);_=%r;print(_.replace(chr(100)+chr(40),chr(100)+chr(40)+chr(114)+chr(97)+chr(119)+chr(95))%%(x,_) if m==50 else _%%(x,_) if m==51 else x.replace(chr(121),chr(39)))y;print(_.replace(chr(100)+chr(40),chr(100)+chr(40)+chr(114)+chr(97)+chr(119)+chr(95))%(x,_) if m==50 else _%(x,_) if m==51 else x.replace(chr(121),chr(39)))"371>;++[ d( d)(y.)]d<"x=y"))(dy )';m=ord(raw_input()[-1]);_='x=%r;m=ord(input()[-1]);_=%r;print(_.replace(chr(100)+chr(40),chr(100)+chr(40)+chr(114)+chr(97)+chr(119)+chr(95))%%(x,_) if m==50 else _%%(x,_) if m==51 else x.replace(chr(121),chr(39)))';print(_.replace(chr(100)+chr(40),chr(100)+chr(40)+chr(114)+chr(97)+chr(119)+chr(95))%(x,_) if m==50 else _%(x,_) if m==51 else x.replace(chr(121),chr(39)))

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

পাইথন ঘ

x='@##y@r,r,r-{ +.r_}r{ +.r_}!!-.(3"y;m=ord(input()[-1]);_=yx=%r;m=ord(input()[-1]);_=%r;print(_.replace(chr(100)+chr(40),chr(100)+chr(40)+chr(114)+chr(97)+chr(119)+chr(95))%%(x,_) if m==50 else _%%(x,_) if m==51 else x.replace(chr(121),chr(39)))y;print(_.replace(chr(100)+chr(40),chr(100)+chr(40)+chr(114)+chr(97)+chr(119)+chr(95))%(x,_) if m==50 else _%(x,_) if m==51 else x.replace(chr(121),chr(39)))"367>;++[ d( d)(y.)]d<"x=y"))(2"y;m=ord(raw_input()[-1]);_=yx=%r;m=ord(input()[-1]);_=%r;print(_.replace(chr(100)+chr(40),chr(100)+chr(40)+chr(114)+chr(97)+chr(119)+chr(95))%%(x,_) if m==50 else _%%(x,_) if m==51 else x.replace(chr(121),chr(39)))y;print(_.replace(chr(100)+chr(40),chr(100)+chr(40)+chr(114)+chr(97)+chr(119)+chr(95))%(x,_) if m==50 else _%(x,_) if m==51 else x.replace(chr(121),chr(39)))"371>;++[ d( d)(y.)]d<"x=y"))(dy )#y@r,r,r-{ +.r_}r{ +.r_}!!-.(3"y;m=ord(input()[-1]);_=yx=%r;m=ord(input()[-1]);_=%r;print(_.replace(chr(100)+chr(40),chr(100)+chr(40)+chr(114)+chr(97)+chr(119)+chr(95))%%(x,_) if m==50 else _%%(x,_) if m==51 else x.replace(chr(121),chr(39)))y;print(_.replace(chr(100)+chr(40),chr(100)+chr(40)+chr(114)+chr(97)+chr(119)+chr(95))%(x,_) if m==50 else _%(x,_) if m==51 else x.replace(chr(121),chr(39)))"367>;++[ d( d)(y.)]d<"x=y"))(2"y;m=ord(raw_input()[-1]);_=yx=%r;m=ord(input()[-1]);_=%r;print(_.replace(chr(100)+chr(40),chr(100)+chr(40)+chr(114)+chr(97)+chr(119)+chr(95))%%(x,_) if m==50 else _%%(x,_) if m==51 else x.replace(chr(121),chr(39)))y;print(_.replace(chr(100)+chr(40),chr(100)+chr(40)+chr(114)+chr(97)+chr(119)+chr(95))%(x,_) if m==50 else _%(x,_) if m==51 else x.replace(chr(121),chr(39)))"371>;++[ d( d)(y.)]d<"x=y"))(dy )';m=ord(input()[-1]);_='x=%r;m=ord(input()[-1]);_=%r;print(_.replace(chr(100)+chr(40),chr(100)+chr(40)+chr(114)+chr(97)+chr(119)+chr(95))%%(x,_) if m==50 else _%%(x,_) if m==51 else x.replace(chr(121),chr(39)))';print(_.replace(chr(100)+chr(40),chr(100)+chr(40)+chr(114)+chr(97)+chr(119)+chr(95))%(x,_) if m==50 else _%(x,_) if m==51 else x.replace(chr(121),chr(39)))

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

ব্যাখ্যা:

প্রতিটি ভাষার জন্য, আমি ইতিমধ্যে লিখিত কুইন নিয়েছি এবং সেগুলি কিছুটা সংশোধন করেছি।

টার্টল্ড প্রথম:

টার্টলিডে স্ট্যান্ডার্ড কুইন স্ট্রাকচার অন্তর্ভুক্ত রয়েছে। যাইহোক, ইনপুটটি 2 বা 3 দিয়ে শেষ হওয়া উচিত, এটি পাইথন কোডটির শেষটি 2 ​​বা 3 দ্বারা সংযোজন করে, এটি উভয়কে আলাদাভাবে, কোয়াইন আউটপুটে অন্তর্ভুক্ত করে, এবং তারপরে আবার শুরুতে ফিরে যুক্ত হয়x=' । অন্যথায় সোর্সকোডটি বাম এবং নিয়মিত কুইনের মতো আউটপুট

এছাড়াও মনে রাখবেন এটি দু'বার ইনপুট নেয় !!., কারণ উত্সটিতে একটি নতুন লাইন রয়েছে যা খালি লাইনটি ইনপুট দেয়।

তবে স্ট্রিংটি শুরু করার পথে বরাবর স্ট্রিংটি এতে থাকতে পারে না তা রোধ করার জন্য এটি মূল উত্সের 'সমস্ত পথে পরিবর্তন 'করে y। যদি তা হয় তবে, উদ্ধৃতিটি পারাপার বিরক্তিকর হতে পারে, এমনকি যদি সম্ভবও হয়

এটি একটি কৌশল উপর নির্ভর করে; আমি লিখতে পারতাম না (''y),(pseudocode:if cell is ', write y) তারপর, কারণ Y একটি থেকে আলাদা করে চেনা হতো যে '। সুতরাং, আমি "পাইথন" ইনপুট থেকে y ব্যবহার করব! এটি আমার জন্য একটি বাস্তব ইউরেক মুহূর্ত ছিল।

তারপরে, পাইথন কুইনেলাইক জিনিস রয়েছে।

পাইথন কুইনেলাইক জিনিসটি কীভাবে কাজ করে:

এটি নিয়মিত কুইনের মতো কাজ করে, বাদে এটিতে ভেরিয়েবল এক্স অন্তর্ভুক্ত রয়েছে

যদি পাইথন 3 ইনপুট থাকে তবে এটি নিয়মিত কুইনের মতো কাজ করে এবং টার্টলিডের উত্সকে অন্তর্ভুক্ত করতে% ফর্ম্যাটিং ব্যবহার করে।

যদি পাইথন 2 ইনপুট থাকে তবে এটি inputস্ট্রিংয়ের সাথে প্রতিস্থাপন raw_inputকরে এবং অন্যথায় ঠিক একই জিনিসটি করে।

যদি ইনপুটটি টার্টলিড yহয় তবে এটি টার্টলিড উত্সের পরিবর্তে এবং প্রিন্ট করে।

দুটি অজগর প্রোগ্রাম একই রকম কাজ করে এবং একইভাবে ইনপুট নেয়

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