질문 : 체스 판에서 위치를 열 col 및 행 값 행으로 사용하고 위치의 유효성을 검사하는 프로그램을 작성하십시오. 체스 판의 기둥은 A에서 H (범위 포함) 범위의 문자이며 행은 1에서 8 사이의 숫자임을 기억하십시오. A3 또는 E7은 유효한 입력이지만 a1 또는 L5는 유효하지 않습니다. E2와 같이 두 좌표가 모두 유효하면 프로그램은 '조각이 E2로 이동되었습니다.'를 인쇄하고, 그렇지 않으면 '위치가 유효하지 않습니다.'라는 메시지를 인쇄합니다.NameError : name 'A'가 정의되지 않았습니다.
MY ANSWER : (D5 같은 값에 연결 후)
a=raw_input("you move to:")
col = [A, B, C, D, E, F, G]
row = [1, 2, 3, 4, 5, 6, 7]
if (a in col) and (a in row):
print 'The piece is moved to '%s%d %input
else:
print 'The position is not valid.'
ERROR
Traceback (most recent call last):
File "<web session>", line 2, in <module>
NameError: name 'A' is not defined
요청 :
당신이 직접 할 수 있습니까 내 프로그램을 수정하는 방법에?
CONTEXT :
이 작업의 목적은 다음과 같은 질문에 대답하기 위해 저를 설정하는 것입니다 :
지금까지, 당신의 프로그램이 두 개의 입력을 사용을 : 열 및 행 값입니다. 이전 프로그램 (체스 문제, 버전 3)을 수정하여 체스 보드상의 위치를 단일 입력으로 허용 할 수 있습니까? 즉, B5와 같은 체스 판의 열과 행 값을 모두 저장하는 가변 위치가 있다고 가정합니다. 입력의 두 좌표 (예 : c4)가 모두 유효하면 프로그램은 c4로 이동합니다. 첫 번째 좌표가 범위를 벗어난 경우 첫 번째 좌표가 범위 ah 또는 AH에 있지 않습니다! , 두 번째 좌표가 범위를 벗어난 경우 print 두 번째 좌표가 1에서 8 사이의 범위에 있지 않습니다.닫기 :
감사합니다.
그가 이것을 고치더라도 그의 비교는 여전히 효과가 없을 것입니다. – agf
@agf : 음, 그래 ... 잠시 후 내 대답에 추가 할 것입니다. – BoltClock