숫자 야구

김오왼·2022년 2월 1일
0

python

목록 보기
20/22
post-thumbnail

먼저 정답 숫자 3개를 뽑아 주는 generate_numbers 함수를 작성



if rand_num not in numbers 를 안해주면 중복값이 아래와 같이 들어가게 된다


유저가 숫자 3개를 입력받음



스트라이크 수와 볼 수를 알려 주는 get_score 함수를 작성할 것입니다.

스트라이크 판단 방법 guesses의 인덱스 i에 있는 숫자와 solution의 인덱스 i에 있는 숫자가 동일하면 스트라이크입니다. 이렇게 작성할 수 있겠죠?

볼 판단 방법 guesses의 인덱스 i에 있는 숫자가 '볼'이기 위해서는 이 두 가지 조건을 충족해야 합니다. 이 숫자가 solution 안에도 있어야 한다. 이 숫자가 solution의 인덱스 i에 있으면 안 된다. 그러면 코드를 이렇게 작성할 수 있습니다.

if guesses[i] in solution
and
guesses[i] != solution[i]



보시다시피 조건 부분은 그냥 True라고 써서, 조건 부분을 통과 못할 일이 없습니다. 하지만 수행 부분에서 s가 3인 경우 break를 했기 때문에, 반복문을 빠져나올 수 있습니다. 조건 부분은 s != 3로 했을 수도 있는데, 왜 굳이 이렇게 했을까요? 조건 부분을 s != 3로 하기 위해서는 s를 미리 정의해야 합니다. 그게 번거롭고 조금 지저분하다고 느껴져서, 위와 같은 방식을 택한 것입니다.


코드 전체

profile
전문 금융인을 목표로하는 김야옹야옹이

0개의 댓글