Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

데블스캠프2005/Python

From ZeroWiki
Revision as of 05:28, 7 February 2021 by imported>Unknown
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Python2.4.1 다운로드 DevilsCamp2005_Python.ppt

풀어본 문제들

피보나치 ReverseAndAdd 구구단 마름모출력 MineSweeper

신기한 익스플로러 제어

파이썬으로익스플로어제어

주석

# a = 4

도움말 얻기

  • dir() : 인수에 객체를 전달하면 객체 내에서 사용할 수 있는 함수 리스트를 리턴한다.
  • help() : 인수에 전달된 명령에 대한 설명을 보여준다.
>>> l = []
>>> dir(l)

>>> help(l.append)
Help on built-in function append:

append(...)
    L.append(object) -- append object to end

입력

raw_input 문자열 입력 input 수치형 입력

>>> raw_input('your name? ')
your name? zp
'zp'

>>> n = input('숫자 입력하세요. ')
숫자 입력하세요. 5
>>> 
>>> n
5

내장 자료형

수치형

a = 10                     int(32bit)
b = 2.5                    float(64bit)
c = 999999999999999999L    long형(무제한)
d = 4 + 5j                 complex(각 64bit)
x ** y                     power. x의 y제곱
divmod(x, y)               returns (int(x/y), x % y)
>>> divmod(5,3)
(1, 2)

round(x)                   반올림

abs(-3)                    3 
int(3.15)                  3
float(5)                   5.0
complex(2, 5)              2 + 5j

문자형

s = 'abcdef'

튜플

임의의 객체를 저장하는 자료형. 순서를 가지고 순서에 의해 접근 가능. 객체의 변경이 불가능한다.

>>> t = (1,2,3)
>>> t * 2               반복
(1, 2, 3, 1, 2, 3)
>>> t + ('tuple',)      연결
(1, 2, 3, 'tuple')
>>> t[1:3]              슬라이싱
(2, 3)
>>> len(t)              길이
3
>>> 1 in t              멤버십 테스트
True

>>> l = list(t)         리스트로 변환
>>> l
[1, 2, 3]
>>> t = tuple(l)        튜플로 변환
>>> t
(1, 2, 3)

리스트

임의의 객체를 저장하는 자료형. 순서가 있고 순서에 의해(index) 접근 가능. 객체의 변경이 가능한다.

>>> L = []                       빈 리스트 생성
>>> L = [1,2,3]
>>> len(L)                       길이
3
>>> L[1]                         인덱싱
2
>>> L[1:3]                       슬라이싱
[2, 3]
>>> L[-1]
3
>>> L + L                        연결
[1, 2, 3, 1, 2, 3]
>>> L * 3
[1, 2, 3, 1, 2, 3, 1, 2, 3]
>>> L = range(10)
>>> L
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> L[::2]                       확장 슬라이스
[0, 2, 4, 6, 8]
>>> L[::-1]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

>>> L.append(100)                추가
>>> L
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 100]
>>> L.insert(1, 50)
>>> L
[0, 50, 1, 2, 3, 4, 5, 6, 7, 8, 9, 100]
>>> del L[2]                     삭제
>>> L
[0, 50, 2, 3, 4, 5, 6, 7, 8, 9, 100]
>>> L.reverse()                  순서를 바꾼다
>>> L
[100, 9, 8, 7, 6, 5, 4, 3, 2, 50, 0]

>>> L.sort()                     정렬
>>> L
[0, 2, 3, 4, 5, 6, 7, 8, 9, 50, 100]

사전

임의의 객체 저장. 자료의 순서를 갖지 않는다. 키(key)를 이용해 값(value)에 접근한다. 내부적으로 해쉬(hash)를 이용하여 자료를 저장한다. 빠른 속도로 자료를 찾을 수 있다.

>>> dic = {'baseball':5, 'soccer':10, 'basketball':15}
>>> dic['baseball']
5
>>> dic['baseball'] = 20
>>> dic
{'basketball': 15, 'soccer': 10, 'baseball': 20}

메소드

>>> dic.keys()                                           키들을 리스트로 리턴
['basketball', 'soccer', 'baseball']
>>> dic.values()                                         값들을 리스트로 리턴
[15, 10, 20]
>>> dic.items()                                          (key, value)을 리스트로 리턴
[('basketball', 15), ('soccer', 10), ('baseball', 20)]

>>> if 'soccer' in dic:                                  사전이 key를 가지고 있는지 검사. 있으면 True리턴
	print dic['soccer']	
10

시퀀스 자료형의 공통 연산

시퀀스 자료형 : 문자열, 리스트, 튜플 등

인덱싱         s[1]
슬라이싱       s[1:3]
연결           s + 'abc'
반복           s * 2
멤버십 테스트  'a' in s
길이           len(s)


for

1에서 9까지의 합

>>> sum = 0
>>> for x in range(1, 10):
	sum += x
	
>>> sum
45

1, 3, 5, 7, 9의 합

>>> odd = 0
>>> for o in range(1, 10, 2):
	odd += o
	
>>> odd
25

리스트 자료형의 객체 출력

>>> number = [1,2,3,4,5]
>>> for n in number:
	print n,

	
1 2 3 4 5

참고 자료


데블스캠프2005, 데블스캠프2005/화요일