> <>, 망막 파이썬 2 : 144 127 123 바이트
공백을 제거하여 @Loovjo 덕분에 1 바이트 절약
@ mbomb007 덕분에 input
대신 4 바이트를 사용하여 저장raw_input
#v"PAPER"v?%4-2{"SCISSORS"v?%2:i
#>ooooo; >oooooooo<"ROCK"~<
a="KRS".index(input()[-1])
print["SCISSORS","ROCK","PAPER"][a]
도전 과제 로 TNB에 게시 된 이 언어 조합을 사용해보기로 결정했습니다.
> <>
온라인으로 사용해보십시오!
IP가 오른쪽으로 움직이기 시작합니다.
# 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
(프로그램이 첫 번째 문자 만 사용하기 때문에)입니다. 그들의 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
인 경우 IP에서 발생하는 것입니다.
"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).
망막
온라인으로 사용해보십시오!
이 경우 Retina는 두 줄의 각 쌍을 일치 및 대체 쌍으로 간주합니다. 예를 들어 첫 번째 줄과 일치하는 것을 두 번째 줄로 바꾸려고 시도하지만 첫 번째 줄은 절대로 일치하지 않으므로 입력을 유지하지 않습니다.
파이썬 2
온라인으로 사용해보십시오!
파이썬 프로그램은 "
s 사이에 입력이 필요합니다 .
처음 두 줄은 파이썬의 주석입니다.
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