오늘의 내용 미리보기
본문
우선 본격적으로 시작하기에 앞서서 다음 페이지를 하나 보고 시작합시다.
https://docs.python.org/ko/3/library/index.html
이 문서는 파이썬의 다양한 라이브러리를 담고 있는 문서입니다.
내장 함수를 한 번 봅시다.
우리가 자주 사용하는 print 함수도 보이고 그 외에도 다양한 함수가 보입니다.
이는 파이썬에서 기본적으로 제공하는 함수입니다.
이를 사용하기 위해서 무언가 별도로 하지 않아도 되는 함수들입니다.
우리가 print를 사용하면서 파이썬을 설치하고 나서 따로 했던 작업이 없죠?
다시 이전 페이지로 돌아와서 아래로 쭉 내려보면 굉장히 다양한 라이브러리가 존재합니다.
이 함수들은 파이썬을 설치하면 기본으로 들어는 있지만 사용을 하려면 별도의 동작을 해줘야 합니다.
이를 'import'라고 합니다.
기본적으로 개수가 너무 많기 때문에 용량적인 문제를 고려해서
자주 사용하는 함수 외에는 import를 해서 사용을 합니다.
우리는 이 중에서 오늘 random이라는 라이브러리를 사용해 봅시다.
이름에서 알 수 있듯이 랜덤 한 무언가를 생성해내는 함수를 가지고 있어요.
random 함수 내에서 randint라는 함수를 찾아봅시다.
a와 b 사이의 랜덤한 정수를 반환하는 함수입니다.
한 번 사용해 볼까요?
이런 식으로 import를 해서 사용할 수 있습니다.
조금 더 최적화를 해서 사용하는 방법도 배워봅시다.
위와 아래 문법의 차이는 가져오는 함수의 양에 달려있습니다.
위의 사진과 같이 import로 random을 가져오게 되면 random에 포함되어 있는 모든 함수를 같이 가져옵니다.
하지만, 아래 사진과 같이 random에서 randint만을 가져오게 된다면 용량적으로 조금 더 최적화가 가능합니다.
이 randint를 이용해서 유저가 고른 숫자와 컴퓨터가 고른 숫자를 비교하는 게임을 만들어봅시다.
randint를 통해서 컴퓨터가 랜덤한 숫자를 골라주고,
유저가 입력한 숫자와 비교해서 높고 낮음을 판단해 줍니다.
만약 정답이면 정답이라고 출력을 해줍니다.
그런데 이런 방식으로 하게 되면 1번만 숫자를 고르고 끝이 나게 되겠죠?
정답을 맞힐 때까지 게임을 지속하기 위해 우리는 다른 방법을 사용해야 합니다.
이럴 때 사용할 수 있는 것이 while을 통한 반복문입니다.
간단하게 사용하는 예시를 볼까요?
이렇게 작성을 하고 한 번 실행시켜 봅시다.
컴퓨터가 끝도 없이 인사를 해줍니다.
while 반복문의 경우 조건이 참인 동안 실행을 지속합니다.
즉, while의 조건이 False가 될 때 까지 반복합니다.
따라서 반복문을 멈추기 위해서는 조건이 끝나는 지점을 잘 정해주어야 합니다.
우리가 무언가 파일과 관련된 개발자라고 가정해 봅시다.
다운로드하는 동안 파일이 얼마나 다운됐는지를 보여주는 프로그램이 있습니다.
이를 한 번 만들어볼까요?
이런 식으로 변수를 생성하고 그 변수를 이용해서 끝 지점을 정해주는 방법이 있습니다.
이 프로그램의 경우 download의 수가 반복할 때마다 증가하므로 언젠가는 끝이 나게 됩니다.
그렇다면 보너스로 한 문제를 더 풀어볼까요?
다운로드가 완료되면 완료되었다고 출력할 수 있게 해 봅시다.
지난 시간에 배운 조건문도 사용해 봤습니다.
그렇다면 아까 게임을 다시 완성해 볼까요?
우리는 이 게임이 언제 종료되어야 할지 정해야 합니다.
언제 종료되어야 할까요?
맞습니다. 유저가 맞추면 종료되어야 하겠죠?
이를 기반으로 한 번 코드를 작성해 봅시다.
우선 플레이의 여부를 확인하기 위해서 playing이라는 변수를 하나 만들었습니다.
playing이 True인 동안 유저는 계속 번호를 입력하면서 정답에 다가가게 됩니다.
만약 유저의 입력값이 정답이라면 while의 조건은 False가 되고 해당 게임은 종료가 됩니다.
추가 문제) 정답을 맞히면 유저가 총 몇 번 시도했는지 알려주는 문장도 추가해 보세요.
카운트를 하기 위한 변수를 하나 생성하고
반복문이 실행될 때마다 실행을 해주면 됩니다.
마지막으로 복습하기
이번 시간에는 라이브러리를 살펴보고 while 반복문을 배웠습니다.
다음 시간에 만나요 안뇽.
'T-SUM 멘토링' 카테고리의 다른 글
[T-SUM] 8주차 자료 - Pandas를 통한 시계열데이터 분석 (0) | 2023.08.10 |
---|---|
[T-SUM] 7주차 자료 - Data Structure(List, Tuple, Dictionary), For 반복문 (0) | 2023.07.20 |
[T-SUM] 5주차 자료 - if/else/elif 조건문, and/or (0) | 2023.07.06 |
[T-SUM] 4주차 자료 - 변수와 함수, 매개변수와 인수 (0) | 2023.06.22 |
[T-SUM] 2주차 자료 - Hello World! Hello Python! (1) | 2023.06.08 |