পাইথন 3 / > <> , 177 173 172 167 বাইট
5 মাইল ছাঁটাই করার জন্য @ মঠমান্ডানকে ধন্যবাদ!
ভাল এটি একটি অভিজ্ঞতা ছিল, এবং একটি চেষ্টাও। যে কোনও গল্ফ পরামর্শ স্বাগত, কারণ এটি বেশ দীর্ঘ। আমি পাঠ্যের পুনঃব্যবহারের জন্য যথাসাধ্য চেষ্টা করেছি, তবে এটি বেশ কঠিন ছিল।
প্রযুক্তিগতভাবে, পাইথন 3 হবে যে এই প্রোগ্রামটি আউটপুট করা উচিত (এবং আমি পরিবর্তন করতে পারতাম যদি আমি চশমাগুলি পূরণ না করি - তবে উদাহরণে পাইথন / সি আউটপুট Python
তালিকাভুক্ত ছিল)।
aa=" ni nettirw t'nsaw margorp sihT\"\""
v="><>!" #v "><>"r~/
a=", it was built for "+v#\a
print(aa[-3::-1]+"Pytho" +"n"+a)
# .4b;!?lor"!nohtyP r"~/
এটি একটি অনলাইন> <> দোভাষী এবং পাইথন 3 ব্যাখ্যাকারী (দ্যা> <> দোভাষীর জন্য আপনাকে কোডটি ম্যানুয়ালি ইনপুট করতে হবে) ব্যবহার করে দেখুন
রিটার্নস
This program wasn't written in ><>, it was built for Python!
ইন> <> এবং
This program wasn't written in Python, it was built for ><>!
পাইথনে।
ব্যাখ্যা (পাইথন)
পাইথন জিনিসের পক্ষে এটি খুব সহজ simple এখানে আমরা যে কোডটি যত্ন করি তা এখানে রয়েছে (মূলত কোনও মন্তব্য ছাড়াই কোড, যা #
পাইথনের কোনও দ্বারা বোঝানো হয়েছে)। নোট করুন যে পাইথন \
এ স্ট্রিং ব্যবহার করার সময় একটি পালানোর চরিত্র, তাই স্ট্রিংয়ে \"
মূল্যায়ন করে "
।
aa=" ni nettirw t'nsaw margorp sihT\"\""
v="><>!"
a=", it was built for "+v
print(aa[-3::-1]+"Pytho" +"n"+a)
আমরা এখানে সবচেয়ে বেশি যত্নশীল হ'ল ভেরিয়েবলের উপর সঞ্চালিত অপারেশনগুলি aa
:
aa[-3::-1]: reverses the string and chops off the quotation marks (thanks to @mathmandan)
মুদ্রণ বিবৃতিটি এইভাবে মূল্যায়ন করে
"This program wasn't written in " + "Pytho" + "n" + ", it was built for ><>!"
ব্যাখ্যা (> <>)
এখন আমরা আরও কঠিন অংশে পৌঁছেছি। আবারও, এখানে অপ্রয়োজনীয় বিটগুলি সরানো কোডটি code
aa=" ni nettirw t'nsaw margorp sihT\"\
v "><>"r~/
a=", it was built for "+v \a
.4b;!?lor"!nohtyP r"~/
লাইন 1:
aa=" ni nettirw t'nsaw margorp sihT\"\
aa= pushes 1 onto the stack (evaluates 10==10, basically)
" ni ... \" pushes the first part plus a \ onto the stack.
\ deflects the pointer downwards
এখনই স্ট্যাক (প্রিন্ট করা থাকলে): \This program wasn't written in
লাইন 2:
লাইন 2 /
লাইন 1 থেকে পয়েন্টার অবস্থানের কারণে শুরু হয় এবং ডান থেকে বাম দিকে সরানো হয়েছে তা নোট করুন ।
v "><>"r~/
/ deflects the pointer leftwards
~r pops the / off the stack and then reverses it
"><>" pushes ><> onto the stack
v deflects the pointer downwards
এখনই স্ট্যাক: ><> ni nettirw t'nsaw margorp sihT
লাইন 3:
পূর্ববর্তী লাইনের মতো, এটি একটিতে শুরু হয় \
, যেখানে লাইন 2 পয়েন্টারটি প্রেরণ করে। দ্রষ্টব্য যেহেতু পয়েন্টারটি যখন প্রথমটি পৌঁছে তখন লাইনটির চারপাশে মোড়ানো হয় a
আমি পয়েন্টারটি কোথায় যায় তার ক্রম অনুসারে আমার ব্যাখ্যা লিখব (এবং এভাবে কী সম্পাদিত হয়)
a=", it was built for "+v \a
\aa= deflect and push 1 onto the stack
", i ... " push the string onto the stack
+v sum the last two values pushed and deflect
এখনই স্ট্যাক ( x
এটি "আর" এবং একটি স্থান সংযোজন দ্বারা নির্মিত চরিত্র - - এটি আসল চরিত্র নয়, আমার কাছ থেকে কেবল স্থানধারক):
xof tliub saw ti ,><> ni nettirw t'nsaw margorp sihT
লাইন 4:
পয়েন্টারটি কেবল নীচের দিকে চলে যায় তাই এই লাইনটি আর কোনও ব্যাখ্যা দেয় না।
লাইন 5:
শুরু /
এবং বাম দিকে যেতে।
.4b;!?lor"!nohtyP r"~/
~"r Python!" pops x off and adds back r and a space
r reverses the stack
o pops and prints a character
l?!; pushes the length of the stack and stops if it's 0
b4. pushes 11 then 4 then moves to that location (where o is)
এখনই স্ট্যাক (আউটপুট বিপরীত):
!nohtyP rof tliub saw ti ,><> ni nettirw t'nsaw margorp sihT
এবং এটি ব্যাখ্যার জন্য এটি হওয়া উচিত। ব্যাখ্যা / কোডের মধ্যে কোনও অসঙ্গতি আছে বা আমি কোনও ভুল করেছি কিনা তা আমাকে জানান; ব্যাখ্যাটি লেখার মাঝখানে থাকাকালীন আমি আমার কোডটি আরও কিছুটা গল্ফ করেছিলাম যাতে আমার কাছে পুরানো এবং নতুন কোডের মিশ্র বিট থাকতে পারে।