코드 이해
266
17 asked
if failed == 0:
print()
print()
print('Congratulations! The Guesees is correct.')
이 코드에서 이해가 되지 않는 부분이 있어 질문드립니다.
failed 횟수가 3,4,5 등이어도 turns 를 넘어서지 않는다면 게임 성공인데
왜 if failed == 0: 이라고 코드를 짜나요??
Answer 2
2
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
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

