안녕하세요. 코드덤입니다.
이번 시간에는 밤하늘의 별들을 그려볼 텐데요.
색상도, 크기도, 위치도 랜덤으로 여기저기 다양하게 표현해 줄 거예요.
그리고 튜플을 사용하는 예시도 보여드릴 거예요.
오늘의 예제 프로그램을 만들어 나가기 전에, 파이썬으로 만든 다양한 프로젝트들을 먼저 감상해 보세요!
입문 과정에서도 다양한 작품들을 만들어가며, 파이썬을 배울 수 있습니다.
먼저 별을 한번 그려볼게요.
터틀 그래픽 모듈을 먼저 불러오고,
for문을 사용해서 별을 그려주겠습니다.
별을 그릴 때는, 총 5개의 변을 144도씩 돌려가며 그렸었죠~ 동일한 방식으로 그리고,
t.color()를 통해 색상을 지정해 주고, begin_fill() end_fill()로 내부 색상을 채워주겠습니다.
배경 색도 블랙으로 지정해 볼게요.
t.bgcolor("black") 으로 배경색을 설정해 줄 수 있어요.
이렇게 실행시키면 아래와 같이 검정색 배경에, 노란 별이 그려집니다.
혹시 파이썬 IDLE가 아닌, 다른 에디터를 사용하시는 분들은
코드 마지막에 t.done()을 해 주셔야 창이 바로 닫히지 않습니다.
그리고 이 하나의 별을 그리는 코드를 다시 for문을 사용해서 20번 반복시켜 줄 거예요.
이때, 각각의 별을 랜덤 위치로 이동시키기 위해서, t.goto()로 랜덤 위치로 이동시켰습니다.
t.goto()에 2개의 매개변수가 들어가는데요. x좌표와 y좌표입니다.
각 x,y 좌표를 모두 랜덤으로 설정해 줄 거예요.
그리고 랜덤 위치로 이동하기 전에 t.up()으로 펜을 캔버스에서 들어 올리고,
이동 후에는 별을 그려야하기 때문에 t.down()으로 펜을 다시 종이로 내려 주겠습니다.
이렇게 실행하면, 아래와 같이 별이 여기저기 그려진답니다.
이제, 별의 크기도 랜덤으로 변화를 줘볼게요.
혹시 코드에 대한 보다 자세한 설명이 필요하신 분들은 아래 영상을 참고해 주세요.
별의 크기에 랜덤으로 변화를 주기 위해서는, 별의 한 변이 그려지는 t.forward()의 값을 조정해 주면 됩니다.
그래서 랜덤값을 star_size에 담아서, 이 값을 t.forward로 한 변의 길이로 정할게요
이렇게 하면, 아래와 같이 별의 크기가 다양하게 표현됩니다.
이제 별의 색상을 랜덤으로 선택해 줄게요.
랜덤 색을 표현해 주기 위해서, 먼저 튜플에 다양한 색상값을 담아둘 거예요.
튜플은 리스트와 비슷하지만, 리스트와는 달리 수정이 불가하고, 읽기 기능으로만 사용 가능합니다.
리스트는 [] 대괄호, 튜플은 {} 중괄호를 사용해요~
그리고 리스트와 튜플 모두 랜덤으로 값을 추출하는 방법은 동일합니다.
random.choice(리스트/튜플)를 사용해 주시면 됩니다.
이렇게 하면, 아래와 같이 다양한 색상의 별들이 여기저기 그려집니다~
이 코드를 응용해서 여러분만의 아트를 만들어 보세요~
보다 자세한 설명은 위쪽의 영상을 참고해 주세요~
다양한 프로젝트를 통해 파이썬의 기초를 다져 나가세요!
입문과정에서도 다음과 같은 작품들을 만들어 나가며, 파이썬의 기초를 다져나갈 수 있습니다!
자세한 내용은 아래 링크를 참고해 주세요!
[패키지] 파이썬 터틀 프로젝트 1편/2편 통합 [비전공자 초급 과정]
[ 1편에서 만들어 볼 10가지 터틀 프로젝트 ] 기본 예제 2개를 포함하여 총 12가지 프로젝트를 함께 만들어 봅니다. 본 강좌는 리스트, 딕셔너리, 함수 정도의 파이썬 기본 개념을 알고 계신 분들을
codethem.teachable.com
'파이썬 Python 강좌 > 예제로 배우는 파이썬' 카테고리의 다른 글
[파이썬 무료 강좌] 32강. 2차원 리스트로 만드는 수수께끼 프로그램 (0) | 2021.04.28 |
---|---|
[파이썬 무료 기초 강좌] 31강. 기억력 테스트 게임 만들기 | 터틀 그래픽으로 만드는 숫자 기억 게임 (0) | 2021.04.21 |
[파이썬 무료 강좌] 29강. 영어 단어 퀴즈 프로그램 만들기 | 딕셔너리 (0) | 2021.04.19 |
[예제로 배우는 파이썬] 28강. 영어 단어 검색 프로그램 | 딕셔너리 활용하기 (0) | 2021.04.17 |
[파이썬 무료 기초 강좌] 27강. 리스트로 만드는 까페 관리자 모드 프로그램 | 리스트 추가 변경 삭제 (0) | 2021.04.15 |