반응형

프로그래밍 Programming 26

파이썬 Python #24 파이썬파일-파일 모드, 읽기, 쓰기, 추가, 행맨(hangman)게임 만들기

1. 파일은 왜 필요할까? 파일은 왜 필요할까요? 변수는 모두 메모리에서 만들어지고 이것들은 모두 전원이 꺼지면 사라집니다 그러나! 하드디스크에 파일 형태로 저장하면 전원이 꺼지더라도 데이터가 보존됩니다 그래서 이러한 장점을 가진 파일을 활용해봅시다 파이썬에서 사용할 텍스트 파일 만들기 메모장으로 이렇게 텍스트파일을 작성합니다 이 파일을 이용해서 여러 가지 작업을 계속 할 겁니다 파이썬에서 사용할 텍스트 파일 만들기 파일에서 데이터 읽기 1.파일 열기(OPEN) 2.파일에서 데이터를 읽거나 쓰기(READ/WRITE) 3.파일과 관련된 작업이 모두 종료되면 파일 닫기(CLOSE) 파일 열고 닫기 1) 파일 열기, infile: 객체 2) input.txt: 파일의 이름 3) r: 파일을 여는 모드(mode..

파이썬 Python #23 파이썬리스트와 딕셔너리 2- 운석 피하기 게임, 딕셔너리

응용문제 (1)운석 피하기 게임 랜덤한 위치에 소행성을 10개 생성하고 10 밀리초마다, 소행성은 랜덤한 방향으로 회전 후 이동시키고, 10 밀리초마다, 거북이는 계속 전진하며, 방향키로 회전 방향을 바꿀 수 있도록 프로그램을 작성해봅시다 거북이의 색깔은 파란색, 소행성의 색깔은 빨간색으로 두세요 방향키 한 번을 눌렀을 때 회전방향은 30도로 두세요 1. 딕셔너리 딕셔너리(dictionary)도 리스트처럼 여러 값(value)들을 저장합니다 단, 숫자 형태의 인덱스 대신 다양한 키(key)를 사용 가능합니다 이렇게 값을 저장한 뒤 딕셔너리를 출력하면 여러 개의 키(홍길동, 김철수, 이영희)와 값(전화번호)들이 쭉 나옵니다 2. 딕셔너리에서 탐색 키를 가지고 값을 찾을 수 있습니다 3. 딕셔너리에서 키와 ..

파이썬 Python #22 파이썬리스트와 딕셔너리 1- append(), insert(), 객체, 리스트 항목 접근, 슬라이싱, 인덱스 생략, 리스트 항목 변경, 항목 삭제하기, del, pop(), 인덱스 찾기, 한 줄씩 나열하기, 리스..

1. 리스트(list) 여러 개의 자료들을 모아서 하나의 묶음으로 저장하는 것 (목록) 프로그램을 좀 더 편리하게 작성하기 위해 여러 개의 데이터를 하나로 묶어서 저장하는 것이 필요합니다 2. 공백 리스트에서 자료 추가하기 append 이외의 함수를 이용하여 항목 추가하기 **잠깐** append앞에 있는 점의 의미는 무엇일까요? 객체(object)에 속한 변수 혹은 함수를 참조(reference)한다는 뜻 3. 객체(object)란? 의미를 부여한 하나의 개념으로, 관련된 변수와 함수를 묶은 것 파이썬에서는 모든 것(리스트, 정수, 실수, 문자열)이 객체라고 봅니다! 4. 리스트 항목 접근하기 5. 슬라이싱 리스트에서 한 번에 여러 개의 항목을 추출하는 기법입니다 6. 인텍스 생략 ':' 앞쪽의 0을 ..

파이썬 Python #21 각종 터틀그래픽 함수들, 난수 발생, 리스트에서 랜덤하게 선택, 거북이 경주 게임

1. 터틀그래픽 함수들 2. 난수 발생시키기 난수(random number)는 게임과 시뮬레이션에 필수적입니다 파이썬은 random 모듈을 통하여 난수 발생을 지원합니다 3. 리스트에서 랜덤하게 선택하기 응용문제 (1) 거북이 경주 게임 V_1 거북이 2마리를 만들어 경주를 시켜봅시다 위와 같이 2마리의 거북이를 구별하기 위해 색상을 다르게 하고 모양을 바꾸고 출발점을 정해서 거북이 세운뒤 10번정도 반복하면서 한 번 반복할 때마다 난수만큼 전진하도록 만듭시다 4. 외부이미지 사용하기 외부이미지를 불러옵시다 이미지를 불러올 때 \\, \표시 잘 구분해서 작성해주어야 합니다 위와 같이 말이죠 도전문제 (1) 외부 이미지를 사용해서 거북이 경주 게임을 만들어봅시다 이미지는 2개는 첨부파일에 있습니다 (2) ..

파이썬 Python #20-2 함수 콜백함수 응용문제

응용문제 (1) 막대 그래프 그리기 터틀 그래픽을 이용해서 다음과 막대 그래프를 그려봅시다 막대의 가로길이는 40으로 합니다 수치를 나타내는 글자의 폰트는 'Times New Roman', 16, 'bold'로 작성하세요 그러면 글자의 폰트를 바꾸는 방법을 알려드리겠습니다 이렇게 입력하려는 문자열 뒤에 쉼표를 작성한 뒤에 font에 등호(=)를 이용해 집어 넣을 폰트를 ('폰트', '글자크기', '굵기') 순서로 작성해줍니다 (2) 터틀 메이즈 러너 화면에 미로를 만들고 거북이가 화살표를 이용하여 미로에 닫지않게 진행시킬 수 있는 프로그램을 작성해봅시다 사용해야 할 명령어 화살표 키 처리 키보드에서 화살표 키가 눌리면 이벤트가 발생하는 함수를 등록해야 합니다 이런 식으로 말이죠~ 미로를 그리는 함수, 거..

파이썬 Python #20-1 콜백함수

1. 콜백함수(Callback Function) 이벤트(event)가 발생 했을때, 이벤트를 처리하는 함수입니다 기본 처리 함수가 존재하며, 지정된 이벤트들 중에 사용자가 만든 함수를 등록하여 사용이 가능합니다 터틀 그래픽스의 경우, 마우스클릭, 릴리즈, 드래그 등의 이벤트를 처리할 수 있습니다 또, onclick(), onscreenclick(), onkeypress() 이런 콜백 함수가 존재합니다 응용문제 (1) 마우스로 그림 그리기 거북이를 클릭된 위치로 이동시키고 draw() 안에 goto()를넣으면, 현재위치에서 클릭된위치까지 선이 그려지게 됩니다 (2) 클릭하는 곳에 사각형 그리기 클릭한 위치에 사각형을 그리는 프로그램 작성해봅시다 이전 시간에서 작성해봤던 square() 함수를 사용하세요 사..

파이썬 Python #19 함수2 지역변수 전역변수 디폴트 인수 키워드 인수

1. 함수와 변수의 관계 지역 변수(local variable) 전역 변수(global variable) 지역 변수(local variable): 함수 안에서만 정의되고 사용되는 변수 원의 넓이를 계산하는 아래의 코드에서 지역 변수를 찾아봅시다 지역변수는 'result'입니다 그러면 이제 이것을 실행시켜봅시다 그런데 왜 이런 에러가 발생하는 것일까요? 'result'는 지역변수이기 때문에 함수 전제에 영향을 미치지 않기 때문이죠 그래서 함수 전체에서 변수를 사용할 수 있도록 전역변수를 사용해야 합니다 전역 변수(global variable): 프로그램 전체(함수 밖)에서 정의되고 사용되는 변수 원의 넓이를 계산하는 아래의 코드에서 전역 변수를 찾아봅시다 'r'이 전역변수입니다 이제 함수 안에서 전역변수를..

파이썬 Python #18 함수

1. 함수(function) 입력을 받아 필요한 작업을 수행하고 결과를 반환하는 상자 함수를 정의하고 호출합니다 def 함수이름(): 이것을 통해 함수를 정의하고 print()를 통해 함수를 호출해줍니다 장점 (1)함수를 사용하면 코드가 중복되는 것을 막을 수 있음 (2)한 번 작성된 함수는 여러 번 재사용할 수 있음 (3)함수를 사용하면 전체 프로그램을 모듈로 나눌 수 있어서 개발과정이 쉬워지고 체계적이면서 유지보수도 쉬워짐 (4)재사용 한 번만 함수를 정의하면 언제든지 필요할 때 함수를 호출해서 사용 가능 2. 함수에 입력 전달 사용자는 함수에 값(정보)을 전달할 수 있는데 이 값을 인수(argument)라고 합니다 인수를 전달해봅시다 def 함수이름 (인수) 입력한 뒤 마지막 줄에서 함수이름 ()안..

파이썬 Python #17 반복문 2 조건 제어 반복, while문

1. 조건 제어 반복 어떤 조건이 참(True)인 동안 계속 반복하는 구조 while 문 (while loop) 1)반복을 하는 조건이다. 조건이 참이면 반복을 계속함 2)반복되는 문장 예제1 일을 다했는지 물어보는 메시지에 "아니"라고 대답하면 다시 물어보게 하도록 만들고 이외의 답을 했을 때는 "이제 가자"라는 메시지가 나오도록 하자 예제2 사용자가 암호를 입력하고 프로그램에서 암호가 맞는지를 계속 체크하는 프로그램 예제3 1부터 10까지의 합을 계산하는 프로그램을 while 루프로 작성해보자 예제4 while 루프를 이용해서 화면에 사각형을 그리는 코드를 작성해보자 응용문제 (1) 예제4를 for문을 사용해서 만들어보자 (2) 구구단 출력 구구단중에서 7단을 while 문을 이용하여 출력해봅시다 도..

파이썬 Python #16 반복문-횟수 제어 반복, range()함수

1. 반복 같은 문장 혹은 같은 블록을 여러 번 수행하는 것 언제까지?? 정해진 횟수 혹은 주어진 조건이 참 일때까지! 왜 반복이 중요할까요? 대형 전광판에 환영합니다!를 1000번 출력한다고 해야할 일 생겼습니다 이럴 때 어떻게 해야할까요? 이렇게 반복 구조를 사용하여야 합니다 2.횟수 제어 반복 파이썬에서 횟수 제어 반복은 for 루프라고 합니다 이 사항들을 꼭 지켜서 작성하세요 이제 i의 값을 출력해봅시다 구구단의 일부를 출력해봅시다 3. range() 함수 1)range: 0에서 (종료 값-1)까지의 숫자를 반환합니다 2)반복되는 문장이므로 들여쓰기 해야합니다 위와 같이 이렇게 입력해주면 횟수에 맞게 문자열을 출력합니다 range()에는 또다른 기능이 있습니다 range( 1)start=0, 2)..

반응형