[강의소개]
- 본 과목은 다양한 문제해결을 위한 코딩을 하는 기초적인 방법을 다룸
- 코딩은 최근 여러 분야에서 각광을 받고 있고 응용분야를 확대하고 있는 파이썬을 사용
| | [문제해결을 위한 코딩 첫걸음]
|
[강의노트]
- 강의소개
- 강의계획서: 종합시스템 수업계획서 참조
- 강의소개
- 강의노트
- 실습 게시판: 클릭
- 게임개발 게시판: 클릭
- 학생실습 게시판: 클릭
| [성적확인]
| | [과목 게시판]
| [과제]
번호 |
과제내용 |
#1 |
1장에서 3장까지 배운 내용을 종합하여 아래와 같이 동작하는 프로그램을
작성하시오.
- 동작 화면:
- 동작
- 3장에서 배운 tkinter를 이용하여 "터틀 도형 그리기" 윈도우를 만듦
- "정사각형", "원", "별" Button을 만들고 각 도형을 그리는 함수와 연결
- "전진", "왼쪽 90도", "오른쪽 90도" Button을 만들고 해당 동작을 하는 함수와 연결
- "도형" 과 "이동" Label을 "Times 16 bold" 폰트로 노란바탕 검정글씨로 만듦
- 만든 Button과 Label 들을 grid() 배치관리자를 이용하여 그림처럼 배치함
(hint: 여러 column 차지하기는 columnspan=3)
- 3장에서 배운 turtle 그리기를 이용하여 그리는 함수 작성
- "정사각형", "원", "별"을 그리는 함수 작성
(사각형 변의 길이, 원의 지름, 별의 크기는 100을 기준)
- "전진", "왼쪽 90도", "오른쪽 90도"로 동작하는 함수 작성
(전진 크기는 100을 기준으로 이동)
- "전진" 동작 시 penup() 하여 이동하여 이동 시에는 선이 표시되지 않게 할 것!!!
- 각 도형을 그린 후에 현재 위치를 얻어서 현재위치와 도형의 이름을 표시
(위치를 얻는 함수는 t.position() 함수)
- 실행
- 도형과 이동 버튼을 클릭해서 다양한 도형을 여러 위치에 다양하게 그림
- 기타, 구글에서 관련 자료를 찾아서 참고하여 수행
- 제출 (한글이나 워드파일에 아래 내용을 넣어서 제출)
- 프로그램 소스 코드 (필수)
- 실행 결과화면 (필수)
- 과제 중 발생한 문제, 해결방법, 배운 것, 느낀점 (필수)
|
#2 |
1장에서 6장까지 배운 내용을 종합하여 아래와 같이 동작하는 프로그램을
작성하시오.
- 동작 화면:
- 동작
- 3장에서 배운 tkinter를 이용하여 "숫자 맞추기 게임" 윈도우를 만듦
- "1~100 사이의 숫자 하나를 맞추세요" 라는 Lable을 "Times 16 bold" 폰트로 노란바탕 검정글씨로 만듦
- "숫자 입력:" 라는 Label을 만듦
- 숫자를 입력받을 Entry을 만듦
- "입력" 이라는 Button을 만들고 숫자를 맞추었는지 처리 함수와 연결
- 처리 함수의 동작
- 컴퓨터가 선택한 숫자와 사용자가 입력한 숫자를 비교
- 사용자가 입력한 숫자가 크면 "Down" 출력
- 사용자가 입력한 숫자가 작으면 "Up" 출력
- 사용자가 입력한 숫자가 같으면 "성공" 출력
- 시도할 때마다 trial 이라는 변수가 하나씩 증가하고 이를 이용해 "(2번 시도)" 와 같이 출력
- 성공한 경우 smile.png 파일을 이용하여 Label로 표시
- 만든 Button과 Label, Entry 들을 place() 배치관리자를 이용하여 그림처럼 배치함
- 실행
- 기타, 구글에서 관련 자료를 찾아서 참고하여 수행
- 제출 (한글이나 워드파일에 아래 내용을 넣어서 제출)
- 프로그램 소스 코드 (필수)
- 실행 결과화면 (필수)
- 과제 중 발생한 문제, 해결방법, 배운 것, 느낀점 (필수)
|
#3 |
1장에서 8장까지 배운 내용을 종합하여 아래와 같이 동작하는 프로그램을
작성하시오.
- 동작 화면:
- 동작
- 동작화면과 같은 야구게임 설명화면을 보여줌
- "입력: "을 표시하고 숫자 4개를 입력받음
- 컴퓨터가 0에서 9까지의 한 자릿수 중에서 4개의 수를 무작위로 선택함
- 4개의 수는 중복되면 안됨
- random.sample() 함수를 이용
- 컴퓨터가 선택한 4개의 숫자를 저장한 리스트가 만들어짐
- 사용자로부터 4개의 수를 입력받음
- 문자열로 입력받아서 list로 만들고, map 함수를 사용해서 문자열 리스트를 숫자 리스트로 변환하고, 변환 결과를 다시 list로 만듦
- 방법 참고: 어떤 리스트를 원하는 형태로 변형하기
- 컴퓨터가 선택한 4개의 숫자 리스트와 사용자로 부터 받은 4개의 숫자 리스트를 비교
- 이중 for 반복문을 사용해야함 (4*4=16 개의 모든 경우 체크해야함)
- 위치가 같은데 숫자도 같으면 strike 증가시킴
- 위치가 다른데 숫자가 같으면 ball 증가시킴
- strike 와 ball 결과를 출력함
- 동작화면 처럼 시도한 횟수를 괄호안에 표시해주고 strike 와 ball 결과를 출력
- 4개의 숫자를 다 맞춘 4 strike 인 경우 (게임종료)
- 5번 이하 시도에서 맞춘 경우 출력: "매우 잘 하는 군요. n 스텝에 맞췄습니다."
- 6번~10번 이하 시도에서 맞춘 경우 출력: "잘 하는 군요. n 스텝에 맞췄습니다."
- 11번~15번 이하 시도에서 맞춘 경우 출력: "n 스텝에 맞췄습니다."
- 16번 이상 시도에서 맞춘 경우 출력: "분발하세요. n 스텝에 맞췄습니다."
- 실행
- 제출 (한글이나 워드파일에 아래 내용을 넣어서 제출)
- 프로그램 소스 코드 (필수)
- 실행 결과화면, 최소한 3번 이상의 실행결과 포함할 것(필수)
- 과제 중 발생한 문제, 해결방법, 배운 것, 느낀점 (필수)
|
#4 |
교재 1장~9장에서 배운 내용 및 추가 10장 강의노트를 참고하여 아래와 같이 동작하는 프로그램을
작성하시오.
- 동작 화면:
- 동작
- 동작화면과 같은 행맨게임을 구현함
- 여기를 클릭하여 영어단어 사전을 다운로드 받음
- 854개의 영어 단어가 있음
- 이를 이용하여 문제 출제
- 힌트
- 컴퓨터가 854개의 단어 중에 하나의 단어를 무작위로 선택
- 선택한 단어의 개수를 알려줌: 예) 알파벳 수(4)
- 단어의 개수의 2배의 기회를 줌: 예) 8번 만에 맞추세요.
- 힌트
- 시도 횟수와 알파벳 개수만큼의 '_' 출력
- 사용자로부터 하나의 알파벳을 입력받음
- 해당 알파벳이 있는 위치에 알파벳 표시
- 예) ( 4) _oo_
- 사용자가 완성해가는 단어가 컴퓨터가 선택한 단어와 같은지 비교
- 기회 횟수가 되도록 못 맞추면 문제 단어를 알려주고 '분발하세요' 출력
- '분발하세요' 출력 후 새로운 문제 자동 시작
- 기회 횟수 이내에 맞추면 문제 단어와 'Success!!!'를 출력
- 'Success!!!' 출력 후 '또 하시겠습니까? (y/n)'를 출력
- 사용자 답변에 따라서 'y'를 입력하면 새 게임 시작, 'n'을 입력하면 게임 종료
- 실행
- 제출 (한글이나 워드파일에 아래 내용을 넣어서 제출)
- 프로그램 소스 코드 (필수)
- 실행 결과화면, 최소한 3번 이상의 실행결과 포함할 것(필수)
- 과제 중 발생한 문제, 해결방법, 배운 것, 느낀점 (필수)
|
| |