inflearn logo
강의

Course

Instructor

Getting Started with Programming: Introduction to Python (Inflearn Original)

Project(1-2)

코드 이해

266

wnsh ud

17 asked

0

    if failed == 0:

        print()

        print()

        print('Congratulations! The Guesees is correct.')

이 코드에서 이해가 되지 않는 부분이 있어 질문드립니다. 

failed 횟수가 3,4,5 등이어도 turns 를 넘어서지 않는다면 게임 성공인데 

왜 if failed == 0: 이라고 코드를 짜나요??

python

Answer 2

2

kilmm71692

failed는 여기서 게임의 실패횟수가 아닙니다. turns가 동전(게임의 목숨)이라고 생각하시면 좋을것 같습니다. While문이 동작할 때마다 정답인 word와 유저가 입력한 guesses의 일치하지 않는 글자의 수를 세어 failed에 저장한다고 보시면 되겠습니다.

만약, word: secret / user입력: abcd 라면, failed는 4로 나올겁니다(secret은 5글자인데, abcd와 secret간에 일치하는 글자는 c만 있으니까, 일치하지 않는 것은 4글자 입니다.)

그리고 abcd는 guesses에 누적되고, turns는 -1이 반영되어 9로 됩니다.

계속 While문이 실행되다가 guesses에 s, e, c, r, e, t 라는 글자가 모두 모였을때(게임에 성공했을때)를 가정해보겠습니다. 그때에는 failed += 1 이 있는 else 구문이 실행되지 않습니다. 따라서 매번 While문이 실행되면서 초기화 되었던 failed는 여전히 0을 갖고 있습니다. 

그렇기 때문에 failed가 0이라는 의미는 '유저가 word를 조합하는데 필요한 모든 글자를 입력하였다' 라고 볼 수 있습니다.

guesses에 계속 유저가 입력한 글자가 쌓이고, 매번 guesses를 word와 비교하며 While문이 실행된다고 보시면 되겠습니다.(turns는 While문 바깥에 선언해서 실패 했을때 turns -= 1에만 영향을 받음)

0

niceman

안녕하세요.

작성하기 나름입니다.

한 번에 성공했을 경우 failed가 0 이므로, 작성한거예요

스스로 적합하게 코딩하시면 됩니다.

인스턴스 변수 문의

0

23

1

챕터 03_04 (튜플) 교육자료

0

26

2

Package(3-1) Sub 폴더 자료

0

33

1

아톰 출력 안됨

0

58

2

강의자료 메일 발송 요청 드립니다.

0

69

1

강의자료 메일로 보내주실 수 있으실까요?

1

46

0

Iterable 요소는 리스트로 작성해야하는 것 맞나요?

1

71

2

강의자료 부탁드립니다

0

53

2

if Flase: print('Bad')

0

55

1

=와 == 의 차이

0

73

1

functions 함수 섭들을려고하는데요

0

62

1

강의자료 부타드리겠습니다!

0

54

0

VSCODE에 VIEW에서 SELECTED INTERPRETER조회가 안됩니다.

0

64

1

강의자료 부탁드립니다.

0

48

0

dict의 Key를 바꾸는 방법

0

59

1

강의자료부탁드립니다

0

56

1

run withount 디버깅 및 F5+ctrl이 안먹혀요

0

58

1

강의 자료와 예정 다운로드

0

69

2

객체지향 vs 함수형

0

54

1

어렵네요 설정도

0

64

1

설정이 잘 된건지

0

48

1

맥 os vscode 설정 - python interpreter select

0

96

1

강의자료 부탁드립니다. mytoughgirl@naver.com 입니다.

0

41

1

vscode로 수업 진행한 영상은 없는건가요?

0

53

2