두근두근 파이썬 수업 9장 리스트와 딕셔너리.

Slides:



Advertisements
Similar presentations
Datamining Lab 이아람.  How to count the matches The cat ate the bird.  Token : 5/Type : 4.
Advertisements

2 장 자료형 및 연산자 - 김욱동 -. 목 차목 차  변수  자료형  유니코드  리스트  튜플  세트  사전  부울  얕은 / 깊은 복사.
Python RaspberryPi Sejin Oh. Raspberry Pi Python  참과 거짓  Python 자료형의 참과 거짓을 구분 짓는 기준은 다음과 같다. 2 참과 거짓 자료형참 or 거짓 “” 가 아닌 문자열 ( 예 : “python”) 참 “” 거짓.
Python RaspberryPi Sejin Oh. Raspberry Pi Python  파이썬이란 무엇인가 ?  파이썬이란 1990 년 암스테르담의 귀도 반 로섬에 의해 만들어진 인 터프리터 언어이다.  파이썬은 사람이 생각하는 방식을 그대로 표현할 수 있도록.
2013 년 목 차 용어의 정의 위기경보 수준 국가 생물테러 대응 체계도 반 · 팀별 소방의 임무.
과정 개요 과정 개요 과정명 공학도를 위한 취업 합격 비법, 리더십 Rule 4 캠프 대상
장애물 없는 생활환경 인증제를 지향하는 환경유니버설컬러
가수 아이돌 김수빈.
역량평가아카데미 과 목 교 육 내 용 피 드 백 Oral Presentation (보고자료 작성 및 발표 ) Role-play
엠보팅 주민참여예산 투표방법 안내 ■ 앱에서 투표하기 1. 핸드폰 전면에서 앱스(삼성) 찾아 누르기
아트컴미술 PPT 색채디자인 교재 (중급과정) ARTCOM ARTCOM
(Building Background Knowledge)
Intelligent Data Systems Lab. Department of Computer Science & Engineering Practices 컴퓨터의 개념 및 실습 4 월 4 일.
두근두근 파이썬 수업 7장 프로젝트 I.
두근두근 파이썬 수업 7장 프로젝트 I.
HTML과 CGI 프로그래밍 PHP 웹 프로그래밍 (PHP Web Programming) 문양세
센테니카 마케팅 방향.
시각과 인지.
Power Java 제4장 자바 프로그래밍 기초.
특수조명 Program Manual M.D.I Solution
CHAP 7. 메뉴와 대화상자.
두근두근 파이썬 수업 13장 객체란 무엇인가요?.
두근두근 파이썬 수업 13장 객체란 무엇인가요?.
발로 하는 파이썬 세미나 안녕하세요. 저는 발로 하는 파이썬 세미나를 발표할….
작업장에서 불의의사고로 절단사고가 발생했다면
두근두근 파이썬 수업 7장 코드를 함수로 모아봅시다..
두근두근 파이썬 수업 14장 프로젝트 II.
-제어문, 함수, 클래스- IS lab. 김건영 Python -제어문, 함수, 클래스- IS lab. 김건영
듣기 퀴즈.
OpenGL Project 조민정 장선례.
2.1 재배정 재배정요구등록 재배정승인취소 재배정부서연결 재배정단위업무연결
두근두근 파이썬 수업 5장 조건을 따져봅시다..
목차 INDEX 1. 회원가입 및 로그인 2. 업체정보 3. 제조검사 신청 4. 인보이스 5. 검사진행현황(현장검사 신청)
모음(母音) 10개 양성(陽性)모음 음성(陰性)모음 중성모음 ㅏ(ㅑ) ㅓ(ㅕ) ㅗ (ㅛ) ㅜ (ㅠ) ㅣ ㅡ
문자열, 딕셔너리, 세트.
Chapter 04 인증 기술과 접근 통제.
인터넷응용프로그래밍 JavaScript(array).
교육 Service 시장 분석 자료 가설별 상위 수준 분석.
사거리 신호등 제어 한국외국어대학교 전자공학과 SoC 설계.
도형의 닮음 Ⅵ-1 도형의 닮음 (1) 닮음과 닮은 도형 닮음
【 6월 1일 】 (‘오늘의 용기 내일의 희망’ 중에서...)
두근두근 파이썬 수업 14장 프로젝트 II.
사업계획서 주식회사.
CHAPTER 04 파일 설계(FiLE Design).
두근두근 파이썬 수업 2장 변수를 소개합니다..
파일 입출력과 그리기.
그린토마토 앱 사용자 메뉴얼.
지원부문 Staff 경쟁력 향상을 위한 사무기술직 경영혁신 부문
광전효과를 이용한 플랑크 상수 측정 1조 권희선 조혜원 허진.
빛 의 합 성 과 학 1 학년 Ⅱ. 빛 > 2. 빛의 색( 8/8 ) [초기 화면]
시스템 인터페이스 Lab#5 쉘 실습.
성립전예산 요구등록 (사업담당자) 사업관리카드 1 2
-자료형과 연산- IS lab. 김건영 Python -자료형과 연산- IS lab. 김건영
2015년 2학년 1반.
(생각열기) 횡파와 종파를 구분하는 기준은 무엇인가?? 답 : 진동하는 방법의 차이
혼색 color mixture.
다문화 사회의 이해 배 상 훈 . 1. 한국사회의 다문화현상 2. 원인과 정책으로 살펴본 다문화 한국사회.
대한민국-스웨덴 수교 60주년 기념 행사 주 스웨덴 대한민국 대사관 (토)
전자공학과 졸업작품 재료구매 요령
청소년 댄스 경연대회 제35회 문화체육관광부장관大賞 전국레크리에이션대회
[색채지각 ] Color Perception.
색채의 공감각 맛 음 냄새 촉감 5. 모양.
Python Tutorial 4: Data Structures
5. 영상 합성.
토론의 기술 3 쟁점분석과 입론.
책을 읽읍시다  탈향 진지하게 설명해드림 1303 김소희 1309박지호 1315이지수.
2016년 제1차 운영위원회 평택시건강가정 ∙다문화가족지원센터
빠르게 활용하는 파이썬3 프로그래밍 Chapter 8. 입출력 안녕하세요, 파이썬의 세계에 오신 것을 환영합니다.
컴퓨터 프로그래밍 및 실습 – 5주차 내장함수 / 외장함수 (1)
첨부 1. 불꽃 위치도 ※ 불꽃 발사 장소 : 수원월드컵경기장 남측 P4 주차장 뒤편 공원 (붉은색 원표시 부분)
Presentation transcript:

두근두근 파이썬 수업 9장 리스트와 딕셔너리

이번 장에서 만들 프로그램 (1) 영한 사전 만들기 (2) 오륜기를 그려보자. 오륜기에 대한 정보를 리스트에 저장한다.

리스트 어떤 경우에는 여러 개의 데이터를 하나로 묶어서 저장하 는 것이 필요하다.

공백 리스트에서 추가하기 >>> heroes = [ ] >>> heroes.append("아이언맨") ['아이언맨'] >>> heroes.append("닥터 스트레인지") >>> print(heroes) ['아이언맨', '닥터 스트레인지'] >>>

점의 의미 파이썬에서 모든 것은 객체(object)이다. 객체는 관련되는 변수와 함수를 묶은 것이다. 파이썬에서 리스트도 객체이다. 객체 안에 있는 무엇인가 를 사용할 때는 객체의 이름을 쓰고 점(.)을 붙인 후에 함 수의 이름을 적는다. heroes.append("아이언맨")

리스트 항목 접근하기 >>> letters = ['A', 'B', 'C', 'D', 'E', 'F'] >>> print(letters[0]) A >>> print(letters[1]) B >>> print(letters[2]) C

슬라이싱 슬라이싱(slicing)은 리스트에서 한 번에 여러 개의 항목 을 추출하는 기법이다. >>> letters = ['A', 'B', 'C', 'D', 'E', 'F'] >>> print(letters[0:3]) ['A', 'B', 'C']

인텍스 생략 >>> print(letters[:3]) ['A', 'B', 'C'] ['D', 'E', 'F'] >>> print(letters[:]) ['A', 'B', 'C', 'D', 'E', 'F'] 리스트를 복사할 때 사용한다.

리스트 항목 변경하기 >>> heroes = [ "아이언맨", "토르", "헐크", "스칼렛 위치" ] >>> print(heroes) ['아이언맨', '닥터 스트레인지', '헐크', '스칼렛 위치'] >>> 인덱스를 이용한다.

함수를 이용하여 추가하기 >>> heroes.append("스파이더맨") >>> print(heroes) ['아이언맨', '닥터 스트레인지', '헐크', '스칼렛 위치', '스파이더맨'] >>> heroes.insert(1, "배트맨") ['아이언맨', '배트맨', '닥터 스트레인지', '헐크', '스칼렛 위치', '스파이더맨'] >>>

항목 삭제하기 heroes = [ "아이언맨", "토르", "헐크", "스칼렛 위치" ] heroes.remove("스칼렛 위치") print(heroes) ['아이언맨', '토르', '헐크']

항목이 리스트 안에 있는지 체크 if "슈퍼맨" in heroes: heroes.remove("슈퍼맨")

del del는 인덱스를 사용하여 항목을 삭제한다. heroes = [ "아이언맨", "토르", "헐크", "스칼렛 위치" ] print(heroes) ['토르', '헐크', '스칼렛 위치'

pop() pop()은 리스트에서 마지막 항목을 삭제 heroes = [ "아이언맨", "토르", "헐크", "스칼렛 위치" ] last_hero = heroes.pop() print(last_hero) 스칼렛 위치

리스트 탐색하기 index() 사용 heroes = [ "아이언맨", "토르", "헐크", "스칼렛 위치" ] print(heroes.index()) 2

리스트 방문하기 heroes = [ "아이언맨", "토르", "헐크", "스칼렛 위치" ] for hero in heroes: print(hero) 아이언맨 토르 헐크 스칼렛 위치

리스트 정렬하기 heroes = [ "아이언맨", "토르", "헐크", "스칼렛 위치" ] heroes.sort() print(heroes) ['스칼렛 위치', '아이언맨', '토르', '헐크']

Lab: 오늘의 속담 리스트에 여러 개의 속담을 저장한 후에 속담 중에서 하나를 랜덤하 게 골라서 오늘의 속담으로 제공한다 ############################ # 오늘의 속담 # 고생 없이 얻을 수 있는 진실로 귀중한 것은 하나도 없다.

Solution import random quotes = [] quotes.append("꿈을 지녀라. 그러면 어려운 현실을 이길 수 있다.") quotes.append("분노는 바보들의 가슴속에서만 살아간다..") quotes.append("고생 없이 얻을 수 있는 진실로 귀중한 것은 하나도 없다.") quotes.append("사람은 사랑할 때 누구나 시인이 된다.") quotes.append("시작이 반이다.") dailyQuote = random.choice(quotes) print("############################") print("# 오늘의 속담 #") print("") print(dailyQuote)

Lab: 오륜기 그리기 반복 구조를 사용하여 화면에 오륜기를 그려 보자. 오륜기의 색상과 위치를 리스트에 저장한다.

Solution import turtle def draw_olympic_symbol(): positions = [[0, 0, "blue"], [-120, 0, "purple"], [60,60, "red"], [-60, 60, "yellow"], [-180, 60, "green"]] for x, y, c in positions: t.penup() t.goto(x, y) t.pendown() t.color(c, c) t.begin_fill() t.circle(30) t.end_fill() t = turtle.Turtle() draw_olympic_symbol()

Lab: 애스터로이드 게임 업그레이드 8장에서 작성하였던 애스터로이드 게임 기억나는지 모르겠다. 8장에 서는 소행성이 2개만 생성되었다. 만약 소행성이 10개 정도 있어야 한다면 리스트에 저장하여야 한다.

Solution import turtle import random import math player = turtle.Turtle() player.color("blue") player.shape("turtle") player.penup() player.speed(0) screen = player.getscreen() asteroids = [] # 공백 리스트를 생성한다. for i in range(10): # 10개의 터틀을 생성한다. a1 = turtle.Turtle() a1.color("red") a1.shape("circle") a1.penup() a1.speed(0) a1.goto(random.randint(-300, 300), random.randint(-300, 300)) asteroids.append(a1) # 생성된 터틀을 리스트에 추가한다.

Solution def turnleft(): player.left(30) # 왼쪽으로 30도 회전한다. def turnright(): player.right(30) # 오른쪽으로 30도 회전한다. screen.onkeypress(turnleft, "Left") screen.onkeypress(turnright, "Right") screen.listen() def play(): player.forward(2) # 2픽셀 전진 for a in asteroids: # 리스트에 저장된 모든 터틀에 대하여 a.right(random.randint(-180, 180)) a.forward(2) screen.ontimer(play, 10) # 10ms가 지나면 play()를 다시 호출 screen.ontimer(play, 10)

딕셔너리 딕셔너리(dictionary)도 리스트와 같이 값을 저장하는 방 법이다. 하지만 딕셔너리에는 값(value)과 관련된 키(key) 가 있다.

딕셔너리 >>> phone_book = { } >>> print(phone_book) {'홍길동': '010-1234-5678'} >>> phone_book = {"홍길동": "010-1234-5678"} >>> phone_book["강감찬"] = "010-1234-5679" >>> phone_book["이순신"] = "010-1234-5680“ >>> print(phone_book) {'이순신': '010-1234-5680', '홍길동': '010-1234-5678', '강감찬': '010-1234-5679'}

딕셔너리에서 탐색 키를 가지고 값을 찾는다. >>> print(phone_book["강감찬"]) 010-1234-5679

딕셔너리의 모든 키 출력하기 >>> phone_book.keys() dict_keys(['이순신', '홍길동', '강감찬']) >>> phone_book.values() dict_values(['010-1234-5680', '010-1234-5678', '010-1234-5679'])

예제 한 학생에 대한 정보를 딕셔너리로 저장하기 dict = {'Name': '홍길동', 'Age': 7, 'Class': '초급'} print (dict['Name']) print (dict['Age']) 홍길동 7

딕셔너리 항목 방문 >>> for key in sorted(phone_book.keys()): print(key, phone_book[key]) 강감찬 010-1234-5679 이순신 010-1234-5680 홍길동 010-1234-5678

Lab: 편의점 재고 관리 편의점에서 재고 관리를 수행하는 프로그램을 작성해보자. 편의점에 서 판매하는 물건의 재고를 딕셔너리에 저장한다. 물건의 이름을 입력하시오: 콜라 4

Solution items = { "커피음료": 7, "펜": 3, "종이컵": 2, "우유": 1, "콜라": 4, "책": 5 } item = input("물건의 이름을 입력하시오: "); print (items[item])

Lab: 영한사전 영한사전을 구현해보자. 영어 단어를 키로 하고 설명을 값으로 하여 저장하면 될 것이다 영한사전을 구현해보자. 영어 단어를 키로 하고 설명을 값으로 하여 저장하면 될 것이다 단어를 입력하시오: one 하나 단어를 입력하시오: two 둘

Solution english_dict = dict() english_dict['one'] = '하나' english_dict['two'] = '둘' english_dict['three'] = '셋' word = input("단어를 입력하시오: "); print (english_dict[word])

이번 장에서 배운 것 함수가 무엇인지를 학습하였다. 인수와 매개변수가 무엇인지를 학습하였다. 어떻게 함수로 인수를 전달할 수 있는지를 학습하였다. 여러 개의 인수를 함수로 전달하는 방법을 학습하였다. 함수가 값을 반환하는 방법을 학습하였다. 지역변수와 전역변수의 차이점에 대하여 학습하였다. global 키워드를 사용하여서 함수 안에서 전역변수를 사용 하는 방법을 학습하였다.

Q & A