본문 바로가기

파이썬94

파이썬 25장(tkinter_09, 미로게임_04, 초기화, 사운드, 아이템, winsound, create_rectangle, delete) ▣ 안녕하세요 ^^ 오늘은 저번장에 이어서 미로게임을 좀 더 업그레이드를 진행하도록 하겠습니다. ▣ 우선 먼저 플레이어가 미로 밖을 통과하지 못하게 코드를 진행하겠습니다. 여러 가지 방법이 있겠지만, 저는 키를 입력했을 때에 조건문에서 and 논리 연산자를 추가하여 진행했습니다. 예를 들어 UP일 경우 posY - 1 을 했을 때 리스트에 값이 0이면 포지션을 움직이게 만들었습니다. 그리고 테스르를 하면 리스트에 요소 값이 1인 경우에는 움직이지 않는 걸 확인할 수 있습니다. 두 가지에 연산 조건이 참일 경우 움직이기 때문입니다. 그럼 이제 아이템을 추가해보겠습니다. ▣ 아이템 png를 추가해주시고요. 아이템을 위치는 저는 리스트에서 2로 지정하였습니다. 그리고 요소 값이 2인 경우 캔버스에서 그려주게 .. 2021. 3. 2.
파이썬 24장(tkinter_08, 미로게임_03, 사운드, 아이템, winsound, create_rectangle, delete) ▣ 안녕하세요. 오늘은 저번장에 있는 내용과 이어지지만 새로운 프로젝트를 만들어서 연결해보는 공부를 해보도록 하겠습니다. ▣ 먼저 import winsound를 불러오겠습니다. 이건 아이템을 먹었을 때, wav파일을 재생하기 위한 모듈입니다. 그리고 아이템에 대한 X, Y 좌표 변수도 선언 및 정의를 해주도록 하겠습니다. ▣ 그리고 간단하게 Player를 컨버스에 배치해주시고, 아이템까지 item좌표로 배치해주도록 하겠습니다. 이때 tag 지정하는거 잊지 마세요. ▣ 움직이는 코드는 저희가 저번장에서 공부했으니 넘어가고 main함수에 대한 부분을 수정해보도록 하겠습니다. 우선 아이템에 닿였을 때 조건문을 만들어보겠습니다. 많은 방법들이 있겠지만, 저는 pos - item에 위치를 뺀 값으로 지정했습니다... 2021. 2. 2.
파이썬 23장(tkinter_07, 미로게임_02, 플레이어 이동, keysym, after, coords) ▣ 안녕하세요 오늘은 저번 시간에 이어서 미로게임을 만들어보겠습니다. 간단하게 플레이어를 넣고 방향키를 누르면 이동하는 걸 공부해보겠습니다. ▣ 먼저 저번장까지 완성한 내용을 열어서 keyinput 전역변수를 선언해주겠습니다. 여기에는 키를 입력한 값을 저장하는 변수라고 생각하시면 됩니다. 그리고 키에 값을 입력 받는 함수 key_Down을 만들어보겠습니다. 전역 변수를 사용해야 하기 때문에 gloabal키워드로 keyinput을 선언했고, 매개변수로 받은 i에 값에 i.keysym 키워드를 사용합니다. 저번장에서도 했지만, 이 키워드는 입력받은 키에 이름값을 가져옵니다. 만약에 방향키"Up"을 누르면 이렇게 "Up"에 이름값이 keyinput에 대입됩니다. ▣ 그리고 밑에 보시면 key_Up함수를 정의.. 2021. 1. 5.
파이썬 22장(tkinter_06, 미로게임_01, 도형그리기, 게임맵만들기, canvas.create_rectangle, 2차원 리스트, 리스트) ▣ 안녕하세요^^ 오늘은 간단하게 캔버스를 활용하여 도형을 그려보고 도형을 이용해서 미로게임 맵을 만들어보는 과정까지 함께 공부해도록하겠습니다. ▣ 먼저 동일하게 선언을 TK()를 선언해주시고, 타이틀을 지정한 후에 cavas를 선언해주세요. 그리고 cavas.create_rectangle를 선언해줍니다. 제가 밑에 주석을 넣은 것처럼 create_rectangle(x1, y1, x2, y2, fill=채우기 색, outline=선색, width=선두께) 이렇게 지정을 해줘야 하는데 x1, y1, x2, y 2가 먼지 구분이 잘 안되실 거라 생각합니다. 이건 쉽게 이야기하면 ▣ 그림에서처럼 x1, y1은 좌측 상단 좌표를 이야기합니다. x2, y2는 우측 하단 좌표를 이야기합니다. 한마디로 좌측과 우측에.. 2020. 12. 31.
파이썬 21장(tkinter_05, 키 입력, bind(), 키 입력함수, key, 마우스 클릭) ▣ 안녕하세요^^ 오늘은 키를 입력받고 이미지를 움직여보는 걸 해보도록 하겠습니다. ▣ 먼저 키를 입력받으려면 bind() 함수를 사용해야 합니다. bind 함수에 첫번째 매개변수 값은 이벤트 값을 넣어주고 두 번째에는 키를 입력하면 호출하고 값을 전달해줄 함수를 지정해줍니다. ▣ 이벤트에 종류로는 주석에 나와있는것 처럼 "" , ""는 키를 입력할 때 함수에 매개변수 값이 전달이 되고 "" 키 입력 후 땐 후에 값을 전달 "" 마우스 포인터를 움직일 때 전달 "", "" 각각 마우스를 클릭하면 전달이 됩니다. ▣ 저희는 ""키를 입력하면 전달하게 하게 지정하고 KeyClick함수를 호출하게 합니다. 입력하면 KeyClick(e) - e에 값이 전달되고 전역 변수에 접근하여 e.keycode에 접근하여 .. 2020. 12. 14.
파이썬 20장(tkinter_04, 메시지박스 , after(), 시간, GUI, import, 타이머) ▣ 안녕하세요^^ 오늘은 저번장에 이어서 tkinter모듈을 사용해서 GUI를 구현 보도록 하겠습니다. 먼저 메시지박수를 출력하는걸 간단하게 구현해보겠습니다. ▣ 우선 메시지 박스를 사용하려면 import.tkinter.messagebox 모듈을 추가해주시고, 우리가 저번에 했던것처럼 버튼을 먼저 생성해주겠습니다. 그리고 버튼을 클릭할 때, 메시지를 출력하게 할 텐데 tkinter.messagebox.showinfo("타이틀 제목", "내용")을 함수에 넣습니다. 그리고 버튼에 command를 함수로 지정해줍니다. ▣ 실행을 해보면 버튼을 클릭할 때 이렇게 메시지가 나오게 됩니다. ▣ 여기서 중요한 건 tkinter.messagebox.showinfo() == 정보 표시 tkinter.messagebox.. 2020. 12. 7.
파이썬 19장(tkinter_03, import, GUI, checkbutton, 체크버튼, boolean) ▣ 안녕하세요~~^^ 오늘은 저번장에 이어서 tkinter을 이어서 공부해보도록 하겠습니다. 먼저 체크박스부터 생성하는 걸 공부해보도록 하겠습니다. ▣ 캔버스와 거의 비슷합니다. 먼저 체크버튼을 선언을 하고 pack() 함수로 배치하면 됩니다. 그럼 이렇게 우리가 지정한 text로 체크버튼이 생성되는 걸 확인할 수 있습니다. 안에 네모 체크버튼을 누르면 체크가 되는 것도 확인할 수 있습니다. ▣ 그리고 체크버튼 처음에 상태를 지정하기 위해서는 tkinter.BooleanVar()를 선언해주고 그 값을 set()함수로 지정해주면 처음 상태를 지정할 수 있습니다. boolean 타입은 우리가 공부했었죠? 참이면 True == 1, false == 0 으로 공부했습니다. ▣ 그리고 이렇게 현재에 상태를 get.. 2020. 11. 30.
파이썬 18장(tkinter_02, import, GUI, 텍스트필드, 버튼, get()) ▣ 안녕하세요 ^^~~ 저번장에 이어서 tkinter을 활용하여 GUI를 구현해보겠습니다. 우선 저번장에 복습을 할 겸 한 가지를 만들어보겠습니다. ▣ 이건 저번장에 내용을 모두 합쳐서 치킨 메뉴를 고르는 프로그램을만들어보았습니다. 직접 코드를 작성해보시고 여러분들만에 메뉴를 고르는 프로그램을 만들어보세요. ▣ 이건 텍스트를 입력할 수 있는 필드를 만드는 코드를 작성해보았습니다. 레이블과 동일하게 Entry함수로 변수에 선언을 하고 place로 위치를 지정하고 실행을 하면 이렇게 입력텍스트필드가 생성되는 걸 볼 수 있습니다. 그럼 텍스트필드에 입력한 값을 가져오는걸 간단하게 구현해보겠습니다. ▣ 버튼을 누르면 텍스트 필드에 있는 값을 버튼에 txt로 지정하게 해 보겠습니다. 버튼을 생성하고 함수를 하나 .. 2020. 11. 17.
파이썬 17장(tkinter_01, import, GUI, random, calendar, 버튼) ▣ 안녕하세요. 오늘은 import 모률 간단하게 몇 개와 tkinter를 활용해서 파이썬으로 GUI를 공부해보겠습니다. ▣ 먼저 calendar를 공부해겠습니다. import는 우리가 중간중간 사용해봤습니다. 이건 외부라이브러르 모듈을 가지고 와서 사용하는 키워드입니다. 더 쉽게 이야기하면 다른 사람이 만들어둔 코드를 가지고 와서 사용한다라고 생각해주시면 됩니다. calendar말 그래도 날짜에 관한 모듈을 가져왔습니다. 그리고 print를 해서 calendar.month 한 달에 정보를 가져오게 하고 함수에 값을 2020, 11로 지정합니다. 그럼 2020년 11월에 날짜 값이 한꺼번에 출력되는 걸 확인할 수 있습니다. ▣ 그런데 여기서 의문이 생깁니다. calendar를 사용할때마다 calendar.. 2020. 11. 9.
파이썬 16장(함수_2, 전역변수, 지역변수, global, 재귀함수, 함수호출) ▣ 안녕하세요 ^^ 이번장에서는 저번장에 이어서 함 수두 번째 시간으로 공부해보겠습니다. ▣ 먼저 재귀함수에 대해 공부해보겠습니다. 재귀 함수란 쉽게 이야기하면 함수가 자기 자신을 불러오는 호출 하는 걸 재귀 함수라고 합니다. 간단한 코드를 실습하면서 공부해보겠습니다. ▣ 이번장부터는 비주얼 스튜디오 코드로 코딩을 작성했습니다. 이점 참고해주세요. 그럼 코드를 작성했다면 이제 하나하나 해석해보겠습니다. 먼저 def으로 sum이라는 함수에 이름을 정의하고 매개변수로 숫자를 받아오겠습니다. 그리고 그 숫자에 1을 더하겠습니다. 그런 다음에 if 조건문으로 만약 num에 변수에 값이 10보다 크면 return 해서 함수를 끝내도록 코드를 작성해주시고요. 그리고 아니면 그 밑에 sum(num) 자기 자신을 호출.. 2020. 11. 3.
파이썬 14장(함수_1, 매개변수, 가변매개변수, return, 리턴) ▣ 안녕하세요 ^^ 오늘은 함수에 대해 공부해보겠습니다. 함수가 무엇일까요? ▣ 이렇게 우리가 수학 시간에서 배웠던 그림과 동일하게 input x 라는 값을 함수에 넣어주고 함수안에서함수 안에서 x라는 값을 통해서 함수 안에서 바꾼 다음 바뀐 f에 값을 반환하는 구조라고 생각하시면 됩니다. ▣ 그럼 함수를 어떻게 만드는지 먼저 알아보도록 하겠습니다. ▣ 먼저 함수를 만들려면 def라는 키워드를 먼저 붙여주셔야 합니다. define에 약자인 거 같습니다. 그런 다음에 함수 이름을 넣고 () 괄호를 붙어주고 : 콜론을 넣고 함수에 조건을 마무리합니다. 그리고 밑에 함수에 기능들을 넣어줍니다. 꼭 들여 쓰기가 되어있어야 합니다. 파이썬에 들여 쓰기는 C언어에서 { } 스코프(범위)라고 생각하시면 됩니다. ▣ .. 2020. 10. 22.
파이썬 13장(딕셔너리, 튜플) ▣ 안녕하세요 ^^ 저번장까지 파이썬 공부 열심히 해보셨나요? 오늘은 파이썬에서 리스트 다음으로 많이 활용하게 되는 딕셔너리와 튜플을 공부해보겠습니다. 먼저 딕셔너리부터 진행해보겠습니다. ▣ 딕셔너리를 만들려면 리스트와 다르게 { } 괄호를 사용해야 합니다. 그리고 키값으로 지정할 값을 입력해주시고 : 콜론으로 구분한 다음에 값을 입력해주시면 됩니다. 그리고 여러 값을 생성하려면 , 콤마로 구분하시면 됩니다. print로 출력을 해보면 이렇게 키와 값이 나오는 걸 확인할 수 있습니다. ▣ 다시 말해 리스트와 다른 점은 요소로 값을 관리하는 게 아닌 키값으로 값을 관리한다고 생각해주시면 됩니다. 사전이라고 생각하시면 더 편할꺼 같네요. 그럼 여기서 이런 질문이 있을수 있습니다. 키와 값을 꼭 문자열로만 해.. 2020. 10. 6.
파이썬 12장(try, except, finally, else, 예외처리) ▣ 안녕하세요 ^^ 저번장까지 과제 열심히 해보셨나요? 지금까지도 포기하지 않고 해오셨다면 벌써 큰 성장이 있을 거라 생각합니다. 코드를 짜시다가 왜 안되지? 왜 아직도 못하지라는 생각을 하실 수 있겠지만, 저는 그렇게 생각합니다. 어떤 공부든 인내하고 버티는 것도 공부에 한 부분이고 실력이라고 생각합니다. 왜 안늘지라고 생각하지 마시고 천천히 하나하나 포기하지 마시고 읽으면서 사고하고 코딩을 공부하시면 저는 된다고 생각합니다. 저도 그랬으니깐요. ▣ 그럼 오늘은 예외처리를 하는 try, except, finally에 대해 알아보겠습니다. 예외처리가 먼가라는 의구심이 들 수도 있습니다. 이건 우리가 코딩을하면서 모든 상황을 생각하고 코딩을 할 수는 없습니다. 완벽한 코딩은 없기 때문에 오류 가능성과 버그.. 2020. 9. 28.
파이썬 11장(time, random, import, 조건문, 반복문) ▣ 안녕하세요 ^^ 저번장 공부는 열심히 해보셨나요? 오늘은 간단하게 time함수와 random함수를 공부해보도록 하겠습니다. time함수와 random함수에 모든 기능을 다 설명하는 건 아니고 기본적인 부분을 공부해보고 간단하게 심플 프로젝트를 진행하여 이해하는 방식으로 진행하겠습니다. 이점 참고해주시면 감사하겠습니다. ▣ 먼저 시간을 구하는 함수를 사용하려면 import로 time 모듈을 가지고 와야 합니다. 쉽게 이야기해서 C언어에서 #include를 해서 현재 내 코드에 time함수를 사용하는 코드를 포함시킨다라고 생각해주시면 좀 더 이해가 쉬우실 거 같습니다. 그런 다음에 바로 print함수를 이용하여 time.time() time모듈 안에 있는 time() 함수를 넣어서 출력하면 이렇게 큰 숫.. 2020. 9. 21.
파이썬 10장(리스트_2) ▣ 안녕하세요 ^^ 저번장 과제는 해보셨나요? 조금씩 조금씩 파이썬에 대해 이해해가고 계신 모습이 보이는 거 같아 아주 뿌듯하네요. 그럼 오늘은 저번장에 이어서 리스트 2번째로 공부해보겠습니다. 오늘도 저번장처럼 간단한 실습으로 공부해보도록 하겠습니다. ▣ 이렇게 리스트를 두개를 만들어 + 연산자를 활용하여 두 리스트에 값을 한꺼번에 더해서 출력할 수도 있습니다. 하지만 정말 두 리스트에 값이 더해진걸까요? ▣ 바로 밑에 이렇게 aList1과 aList2에 값을 출력해보면 합쳐지지 않고 그대로 값이 있는 걸 확인할 수 있습니다. 다시 말해 print화면에 + 리스트가 더한 값을 보여주기만 했고 해당 리스트에 변화는 주지 안 다라라는 결론이 나오게 됩니다. 그럼 어떻게 하면 둘에 리스트를 합친 값을 출력할.. 2020. 9. 16.
파이썬 9장(리스트_1) ▣ 안녕하세요 ^^ 저번장 과제는 해보셨나요? 제가 정말 오랜만에 글을 남기죠?? ^^ 요즘 게임 제작이랑 여러 강의 준비 그리고 닌텐도 스위치를 사서 그 재미에...^^;; 죄송합니다. 그래도 최대한 아무리 바쁘더라도 일주일에 한개씩은 함께 글을 써서 공부하는 시간을 가지도록 하겠습니다. ▣ 우리가 변수를 사용하다보면 이런 생각을 하실 거라 생각합니다. 같은 자료형에 변수를 여러개 만들어서 관리할 수는 없을까라는 생각 말이죠. 네 가능합니다. 몇 가지 방법이 있지만 이번장에서는 리스트를 함께 공부해보도록 하겠습니다. 리스트 내용이 좀 많아서 챕터를 나눠서 진행하겠습니다. ▣ 우리가 변수를 공부할 때 변수는 무엇이라고 이야기했을까요? 네... 맞습니다. 데이터를 담는 상자, 그릇, 메모리라고 비유를 했습.. 2020. 7. 21.
파이썬 8장(input, 여러 개 입력, 입력, 출력) ▣ 안녕하세요 ^^ 저번장 과제는 다 해보셨나요? 다 하셨죠?? 잘하고 계십니다. 코딩을 사고해서 작성하시고 읽고 해석하고 고치시는 훈련을 계속하신다면 더 깊이 있는 코딩을 하실 수 있을 거라 생각합니다. 그러니 포기하지 마세요~~ ▣ 그럼 오늘은 입력 함수 input을 공부해보겠습니다. ▣ 먼저 입력을 받아오려면 input() 함수를 사용해야 합니다. 첫 번째 변수를 먼저 선언하고 input() 함수를 사용해줍니다. 입력을 받을 값을 num1에 넣기 위해 = 대입 연산자를 넣었습니다. 그리고 print() 함수로 입력한 값을 바로 출력하기 위해서 num1를 넣었습니다. 그리고 Run을 해서 확인해보면, 250이라고 입력을 하면 바로 250이 출력되는 걸 확인할 수 있습니다. ▣ 그리고 input함수 괄.. 2020. 7. 13.
파이썬 7장(반복문, for문, 중첩for문) ▣ 안녕하세요 ^^ 저번장 과제 다 해보셨나요?? while문을 공부하면서 이런 생각 드셨을 거라 생각합니다. 몇 번 반복하는걸 좀 더 간결하게 따로 변수로 연산하지 않고 할 수 있는 반복문이 없을까라는 생각 말이죠. 그게 바로 for문 입니다. 그럼 오늘은 for문을 공부해보도록 하겠습니다. ▣ for문은 쉽게 이야기해서 몇 번 반복하기로 생각하시면 됩니다. 숫자에 범위를 지정해서 변수에 넣고 그 숫자가 끝날 때까지 반복하는 반복문이라고 생각하시면 됩니다. while문은 상황에 따른 반복이라면 for문은 숫자에 따른 반복이라고 생각해주시면 됩니다. 그럼 한번 코딩을 진행해보겠습니다. ▣ for문은 이렇게 처음에 whlie문과 다르게 반복할 숫자를 넣을 변수를 먼저 지정해줍니다. 그리고 in을 붙여줍니다.. 2020. 7. 10.
파이썬 6장(반복문, while문, 중첩while문) ▣ 안녕하세요 ^^ 저번장 과제는 해보셨나요? 저번장에 조건문을 아직도 이해하지 못하신 분은 스크래치에 조건문 장을 한번 공부하시면 많은 도움이 될 겁니다. ▣ 오늘은 반복문을 진행하겠습니다. 우리가 컴퓨터를 사용하는 이유이기도 합니다. 쉽게 반복문은 말 그래도 몇 번 반복할지를 명령해주는 코딩입니다. 조건문과 거의 틀은 비슷합니다. 반복문도 우리가 정해준 조건이 맞을 경우에만 반복을 하게 됩니다. 반복문은 대표적으로 두 가지를 사용하는데 for문과 while문이 있습니다. 이건 스크래치로 예를 들어보면서 공부해보겠습니다 ▣ for문은 쉽게 이야기하면 몇 번 반복해라고 명령하는 반복문입니다. 이렇게 스크래치에 10번 반복하기 블록을 for으로 보시면 됩니다. while문은 ▣ 어떤 상황까지 반복해라는 명.. 2020. 7. 6.
파이썬 5장(조건문, 관계연산자, 논리연산자) ▣ 안녕하세요 ^^ 저번장 숙제는 다 해보셨나요? 열심히 하시고 계실 거라 믿고 오늘은 저번장에 연장선인 관계 연산자와 논리 연산자를 활용하여 조건문을 사용해보겠습니다. ▣ 조건문은 무엇일까요? 조건에 맞게 컴퓨터가 우리가 준 명령을 조건에 맞게 수행하는 걸 의미합니다. 우리가 그 조건을 넣어줘야겠지만요. ▣ 이렇게 자판기가 있다고 생각해보겠습니다. 그리고 자판기에 우리가 코딩을 한다고 생각해보겠습니다. 언제 자판기에 음료가 나오게 되나요? 네 해당 음료에 맞는 금액을 넣을 경우 넣은 금액에 맞게 선택할 수 있는 음료에 불이 켜지고 음료버튼을 누르면 해당 음료가 나오고 거스름돈이 있다면 거스름돈이 나오게 됩니다. 이런 과정을 조건문을 활용하여 이럴 때 이렇게 해 저럴 때 이렇게 이런 식으로 코딩을 하는 .. 2020. 7. 3.
파이썬 4장(비교연산자, 논리연산자, 연산자, bool형) ▣ 안녕하세요 ^^ 저번 장까지 과제 열심히 해보셨나요?? c언어와 다르게 파이썬에 코딩은 좀 더 간결하고 자동적으로 완성되는 코드들이 있어서 제가 설명을 적게 하고 코드에 기능과 코드를 이해하는 방향으로 나아가고 있습니다. 그러니 이점 감안해주시고 꼭 제가 이야기한 실습들은 꼭 과제로 해보세요. ▣ 오늘은 연산자에서 비교 연산자와 논리 연산자 그리고 자료형 중에 bool형을 배워보겠습니다. ▣ 자료형이라는건 우리가 변수에서 배웠듯이 변수는 메모리, 상자, 그릇이라고 이야기했습니다. 자료형이라는 건 그 변수 그릇에 크기와 저장할 내용을 도태로 그 모양을 정하는 것이라고 했습니다. 이점 기억해주시고 공부해주세요. ▣ 먼저 비교연산자를 살펴보겠습니다. 비교 연산자는 말 그래도 비교를 하는 연산자입니다. 두 .. 2020. 6. 22.