> <>, রেটিনা, পাইথন 2: 144 127 123 বাইট
1 লাইট একটি জায়গা অপসারণ করে @ লুভজোকে ধন্যবাদ 1 টি বাইট সংরক্ষিত হয়েছে
4 বাইট input
পরিবর্তে ব্যবহার করে @ mbomb007 এর জন্য ধন্যবাদ সংরক্ষণ করেছেraw_input
#v"PAPER"v?%4-2{"SCISSORS"v?%2:i
#>ooooo; >oooooooo<"ROCK"~<
a="KRS".index(input()[-1])
print["SCISSORS","ROCK","PAPER"][a]
চ্যালেঞ্জ হিসাবে টিএনবিতে পোস্ট হয়েছে , আমি ভাষাগুলির এই সংমিশ্রণটি চেষ্টা করার সিদ্ধান্ত নিয়েছি।
> <>
এটি অনলাইন চেষ্টা করুন!
আইপি ডানদিকে চলতে শুরু করে।
# Reflect the IP so that it now moves left and it wraps around the grid
i: Take one character as input and duplicate it
ইনপুটতে নেওয়া সম্ভব অক্ষরগুলি হ'ল PRS
(যেহেতু প্রোগ্রামটি কেবল প্রথম অক্ষর নেয়) takes তাদের ASCII- মানগুলি হয় 80
, 81
এবং 82
।
2% Take the modulo 2 of the character. Yields 0, 1, 0 for P, R, S respectively
?v If this value is non-zero (ie the input was ROCK), go down, otherwise skip this instruction
যদি ইনপুটটি শিলা হত তবে এটিই ঘটবে:
< Start moving to the left
~ Pop the top most value on the stack (which is the original value of R and not the duplicate)
"KCOR" Push these characters onto the stack
< Move left
oooo Output "ROCK" as characters (in turn these characters are popped)
o Pop the top value on the stack and output it; but since the stack is empty, the program errors out and exits promptly.
অন্যথায়, যদি ইনপুটটি ছিল SCISSORS
বা PAPER
, এই আইপি মুখোমুখি হবে:
"SROSSICS" Push these characters onto the stack
{ Shift the stack, so the the original value of the first char of the input would come to the top
2-4% Subtract 2 and take modulo 4 of the ASCII-value (yields 2, 0 for P, S respectively)
?v If it is non-zero, go down, otherwise skip this instruction
যদি ইনপুটটি ছিল PAPER
, তবে:
>ooooooooo Output all characters on the stack (ie "SCISSORS")
< Start moving left
o Pop a value on the stack and output it; since the stack is empty, this gives an error and the program exits.
অন্যথায় (যদি ইনপুটটি ছিল SCISSORS
):
"REPAP" Push these characters onto the stack
v>ooooo; Output them and exit the program (without any errors).
অক্ষিপট
এটি অনলাইন চেষ্টা করুন!
এই ক্ষেত্রে, রেটিনা দুটি লাইনের প্রতিটি জুটিকে ম্যাচ এবং প্রতিস্থাপনের জুটি হিসাবে বিবেচনা করে। উদাহরণস্বরূপ, এটি প্রথম লাইনের সাথে মিলিত কোনও কিছুর সাথে দ্বিতীয় লাইনের সাথে প্রতিস্থাপন করার চেষ্টা করে, তবে যেহেতু প্রথম লাইনটি কখনই মেলে না তাই এটি কখনই কোনও কিছুর সাথে প্রতিস্থাপন করে না, এইভাবে ইনপুট সংরক্ষণ করে।
পাইথন 2
এটি অনলাইন চেষ্টা করুন!
পাইথন প্রোগ্রামটির জন্য এস ইনপুট রাখতে হবে "
।
প্রথম দুটি লাইন পাইথনের মন্তব্য comments
a="KRS".index(input()[-1]) # Get the index of the last character of the input in "KRS"
print["SCISSORS","ROCK","PAPER"][a] # Print the ath index of that array