파이썬에 대한 기초를 모두 다지셨다면, 이제는 프로그래밍을 해볼 차례입니다. 만약 파이썬이 처음이라면, 아래의 링크를 참조해주세요.
>> 파이썬 기초다지기
파이썬 프로그래밍 시리즈의 포스팅은 "만들면서 배우는 파이썬과 40개의 작품들" 책의 내용을 기반으로 하고 있음을 밝힙니다.
1~50까지의 숫자 중에서 랜덤으로 생성된 숫자를 맞추는 게임이다. 사용자가 숫자를 입력하면, 해당 숫자와 랜덤 생성 숫자를 비교하여 high, low, correct를 반환한다. 게임은 사용자가 숫자를 맟출 때까지 진행되며, 숫자를 맞추면, 시도 횟수를 반환해준다.
※ 파이썬의 네이밍 규칙
파이썬의 변수명은 카멜 케이스보다 스네이크 케이스를 더 선호한다. 카멜 케이스는 오직 클래스를 정의할 때에만 쓰인다. 즉, 파이썬에서는 소문자로 시작하는 카멜 케이스를 잘 쓰지 않는다. 물론, 관례에 불과한 것이지만, 지킬 것을 권장한다.
랜덤 숫자를 생성하기 위해서는 random 모듈을 import해야 한다. 파이썬은 C/C++, Java와는 달리 특정 구간에서 랜덤 숫자를 생성하기 매우 편하다. 그저 randint라는 메서드에 구간만 입력해주면 된다.
물론, randint 외에도 random, unoform, randrange, choice 등도 있다. 이에 대한 자세한 설명은 주제와 무관하니 넘어가기로 하자.
input() 메서드를 이용해 사용자의 입력을 받는다. 이 때, 사용자가 입력한 숫자는 문자열로 변환되기 때문에 반드시 int로 형변환해서 input_number에 넣어주어야 한다. 이후 input_number를 random_number와 비교하여 if-elif-else문으로 분기한다. 사용자가 숫자를 맞출 경우 문자열 포맷팅 방식을 사용해 몇 번의 시도만에 성공했는지를 반환한다.
특이한 점은 파이썬에서는 ++ 증감연산자를 제공하지 않는다. 다소 불편하더라도 위와 같이 count = count + 1과 같이 작성해야 한다.
참고로 사용자 입력을 받을 때에는, 반드시 디버그 모드로 실행한 후 터미널에 값을 입력해야 한다. 디버그 모드의 아이콘은 아래 사진에 나타내었다.
위 코드는 사용자가 숫자가 아닌 문자를 입력하면 에러가 발생한다. 따라서 try-except 구문을 활용하여 예외를 처리해주어야 한다.