인프런 커뮤니티 질문&답변

SPD님의 프로필 이미지
SPD

작성한 질문수

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

Project(2-2)

10-2 강의 관련질문 (행맨 게임)

작성

·

414

1

단어 추측이 성공하는 경우의 if문의 실행 조건이

failed 가 0일 때 인데 만약 처음 키 입력에서 실패하고 여러번의 시도 끝에 성공 할 경우 failed의 수가 0이 아닐텐데 어떻게 단어 추측 성공부분이 실행 될 수 있는 건가요?DB84B75A-67CE-41E5-BE83-5AC56504BD19.png

답변 3

0

failed 랑 turns 랑 헷갈리신거같아요

코드 중간에 print(turns), print(failed) 넣어 두개 비교해보시면 좋아요

0

SPD님의 프로필 이미지
SPD
질문자

제가 참고해서 찾아본 코드가 이건데

image

여기서 실행 순서가 whlie True: 문이 실행 된다음 succeed = True 가 실행되는 것이 아니라 for w in word: 가 실행되고 else 부분이 먼저 실행되어서 succeed =False 가 작동 하는 건가요? 그때문에 처음부터 succeed가 True가 아니게 되는 것이라고 이해 해도 될까요? 그리고 input으로 입력한 문자들이 모두 word리스트에서 읽은 문자들과 일치하게되면 for w in word부분이 종료되고 succeed = true 가 실행되어서 if succeed: 부분이 실행되어서 break를 만나 while문을 빠져나가 프로그램이 완전히 종료 된다고 이해해도 될까요?

SPD님의 프로필 이미지
SPD
질문자

imageWhile문이 실행 되자마자 succeed = True가 되는거라면 왜 바로 if succeed가 실행 안되는건가요?

0

좋은사람님의 프로필 이미지
좋은사람
지식공유자

while 문의 처음에 보면

실패횟수가 failed = 0 으로 초기화 되기 때문이예요.

한글자라도 맞으면 0으로 초기화 된 상태기 때문에 if 조건문안에서 실행되기 때문이예요.

SPD님의 프로필 이미지
SPD
질문자

만약 melon 이 정답인 상태

_ _ _ _ _ 에서 m 을 입력 하면

m _ _ _ _ 이 될텐데 이때 마다 failed 가 0으로 초기화 되는건가요?

그런데 이경우에는 저 구문이 바로 실행 되지 않지 않나요?

매번 failed 가 0 로 초기화 된다면

저 조건문 부분이

m e l o n 이 다 완성 되어야 실행 되는 이유가 뭐죠?

m_ _ _ _ 일때 failed 값 : 4

e를 추가입력해주면

me_ _ _ , failed 값 : 3

다 입력해주면 failed 값 : 0

SPD님의 프로필 이미지
SPD

작성한 질문수

질문하기