SCISSOR = '가위'
ROCK = '바위'
PAPER = '보'
WIN = '이겼다!'
DRAW = '비겼다.'
LOSE = '졌다'
mine = '가위'
yours = '보'
if mine == yours:
result = DRAW
elif mine == SCISSOR:
if yours == ROCK:
result = LOSE
else: result = WIN
elif mine == ROCK:
if yours == PAPER:
result = LOSE
else:
result = WIN
(생략)
이게 원래 짠 코드인데, if mine ==: if yours == 이거를 & 로 묶고 싶어서
if mine == yours:
result = DRAW
else:
if mine == SCISSOR and yours == ROCK:
result = LOSE
else:
result = WIN
else:
if mine == ROCK and yours == PAPER:
result = LOSE
else:
result = WIN
print(result)
이럭케 묶었는데... 빨갛게 표시한 부분에서 자꾸 에러가 납니다.
제 생각으로는 그 위에 있는 else랑 같은 열이라서 그런 게 아닐까 싶은데...
else 자리는 논리상? 으론 저 자리가 맞는 것 같아요.
그냥 원래 if 절을 and로 묶음으로서 꼬이는 걸까요? 뭔가 답이 없을까요...
(else를 전체적으로 한칸씩 들여쓰기 해도 똑같은 문제가 발생합니다.)
그렇게 쓰지말고 elif를 써보렴
if 묶고-> else 묶고 -> elif 의 순서는 안되는 거죠??
ㅇㅇ 그리고 조건 더 간략화시킬 수 있음. 정수 계산 방식으로 가면 조건 2개로 가위바위보 모두에 대한 대응도 가능
일단 elif 적용 해보고 그담에 정수 계산 해보고 오겠습니다!!! 감사해요
혹시 아직 계시나요??if mine == yours: result = DRAWelif mine == SCISSOR and yours == ROCK: result = LOSE else: result = WIN elif mine == ROCK and yours == PAPER: result = LOSE else: result = WINelif mine == PAPER and yours == SCISSOR: result = WINelse: print("이상함")
읽을 수 없다