에코에서 입력을 가져 와서 3 문자를 이동하는 caeasar 암호 용 파이썬 하나의 라이너를 작성하려고합니다. 실행하면 구문 오류 메시지가 나타납니다. 누군가가 구문을 잘못 이해하고 있다고 지적 할 수 있다면 고맙겠습니다. 나는 파이썬 2.6을 센트 OS 6에서 사용하고있다.파이썬 caeasar 암호에 대한 도움말이 필요합니다. bash echo 명령의 입력을 사용합니다.
~ $ echo "HELLO"| 파이썬 -c "수입 SYS; 인쇄 ''.join (CHR (ORD (선) + 3ys.stdin])"
파일 "", 줄 1
import sys; print ' '.join(chr(ord(line)+3)[for line in sys.stdin])
^
구문 에러 : 유효하지 않은 구문
물론 아웃 넣어 인쇄해야합니다.. KHOOR을
감사합니다
~ $ echo "HELLO"| sys.stdin의 행에 대해 python -c "import sys; print" ".join (" "(line.strip()의 char에 대한 join (chr (ord (char) +3))" 내가 제안한 것을 할 때 빈 줄이나 공백 줄이 인쇄되는 것 같습니다. –
명령 줄에 따옴표를주의하십시오! 나는 당신의 껍질과 파이썬 사이에 일들이 왜곡되어 있다고 생각한다. 윈도우즈에서는 파이썬 코드의 작은 따옴표와 쉘의 큰 따옴표를 사용하여 작동하도록했습니다. 유닉스 계열의 시스템에서 어느 쪽에서도 작동 할 것이라고 생각합니다. 두 곳을 동일하게 사용하지 마십시오 (내부의 것을 제외하고 싶지 않은 경우). – Blckknght
예를 들어'echo "HELLO"| 파이썬 -c 'import sys; sys.stdin의 행에 대해 "\ n".join (""(line) (line.strip()의 char에 대한 join (chr (ord (char) +3)) ' ' – fredtantini