파이썬 공부 2008/05/22

시작하기
   - 변수
   - 리스트
   - 인터프리터

제어구조
   - while
   - if
   - for

함수
   - 함수
   - 재귀적 용법
   - 지역변수, 전역변수
   - 값을 돌려주기
   - 람다
   - 연습 문제 (구구단)


//-------- 내용

   - 리스트



>>> family = ['father', 'mother', 'I', 'sister']
>>> len( family )
4
>>> family[2]
'I'
>>> family.remove('I')
>>> family
['father', 'mother', 'sister']


   - 인터프리터

텍스트 에디터(메모장 같은 프로그램)를 실행시켜서 아래의 예제를 입력해보세요.

//--- triangle.py 파일 내용 시작

print '직각삼각형 그리기\n'

d = float(raw_input('변의 길이 : '))

for i in range(d+1):

print '* ' * i

area = float((d ** 2) / 2)

print '넓이 : ', area

raw_input()

//--- triangle.py 파일 내용 종료

실행 => D:\Python21>python exam/triangle.py

//--- 실행시 내용

직각삼각형 그리기
변의 길이 : 4
*
* *
* * *
* * * *
넓이 : 8.0

//--------------------------------


   - while

>>> num = 1
>>> while num <= 100:
... print num
... num = num + 1
...


   - if

>>> c = 15 * 5
>>> d = 15 + 15 + 15 + 15 + 15
>>> if c > d: # 만약 c가 d보다 크면
... print 'c > d' # ‘c > d’라고 출력한다.
... elif c == d: # 그렇지 않고 c와 d가 같다면
... print 'c == d' # ‘c == d’라고 출력한다.
... else: # 이도 저도 아니면
... print 'c < d' # ‘c < d’라고 출력한다.
...
c == d

   - for

>>> family = ['father', 'mother', 'I', 'syster']
>>> for x in family: # family라는 리스트의 각각의 원소 x에 대하여:
... print x, len(x) # x와 x의 길이를 출력하라.
...
father 6
mother 6
I 1
syster 6

>>> range(2,7)
[2, 3, 4, 5, 6]
>>> for i in range(4,8):
... print i
...
[ 4, 5, 6, 7 ]

   - 함수

>>> a_list = [3, 4, 62, 27, 83, 956, 26, 58, 3, 78, 168, 64, 78, 8, 4, 6, 75, 81, 69]
>>> def print_list(a): # 지금부터 print_list 함수를 만들겠다는 뜻
... for i in a:
... print i
...
>>> print_list(a_list)


   - 재귀적 용법



>>> def countdown(n):
>>> if n == 0:
>>> print "Blastoff!"
>>> else:
>>> print n
>>> countdown(n-1)


>>> countdown(3)
3
2
1
Blastoff!




   - 지역변수, 전역변수

>>> jjang
'pig dad'

>>> def ban():
... jjang = '07'
... print 'jjang =', jjang
...
>>> ban()
jjang = 07

>>> jjang
'pig dad'


   - 값을 돌려주기

>>> def function(x):
... a = 3
... b = 5
... y = a*x + b
... return y # y 값을 돌려준다
...

>>> c = function(10)

>>> c
35



>>> def exam():
... ans = raw_input('1+2=')
... return 1+2 == int(ans)
...

>>> exam()
1+2=3
1

>>> exam()
1+2=4
0
>>>


raw_input() 이라는 함수는 사용자로부터 문자열 입력을 받는데 쓰이구요, int() 함수는 문자열을 숫자로 바꿔준다.


   - 람다

lambda 인자 : 표현식

>>> def hap(x, y):
... return x + y
...
>>> hap(10,20)
30

==>
>>> (lambda x,y: x+y)(10, 20)
30


map(함수, 리스트)

>>> map(lambda x: x**2, range(5))
[0, 1, 4, 9, 16]

reduce(함수, 순서형 자료)

>>> reduce(lambda x,y: x+y, [0,1,2,3,4])
10
>>> reduce(lambda x,y: y+x, 'abcde')
'edcba'

filter(함수, 리스트)

>>> filter(lambda x: x<5, range(10))
[0, 1, 2, 3, 4]

>>> filter(lambda x: x%2, range(10))
[1, 3, 5, 7, 9]


//---

언제나 그러하듯 예제는 따라하기 쉬우나,
중요한건 응용이라는거지~!!!
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2008/05/22 11:21 2008/05/22 11:21
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/3284

구구단

>>> def gugudan():
for x in range(2,10):
for y in range(1,10):
print x , ' * ', y , ' = ', (x * y)


>>> gugudan()
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27
4 * 1 = 4
4 * 2 = 8
4 * 3 = 12
4 * 4 = 16
4 * 5 = 20
4 * 6 = 24
4 * 7 = 28
4 * 8 = 32
4 * 9 = 36
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
6 * 1 = 6
6 * 2 = 12
6 * 3 = 18
6 * 4 = 24
6 * 5 = 30
6 * 6 = 36
6 * 7 = 42
6 * 8 = 48
6 * 9 = 54
7 * 1 = 7
7 * 2 = 14
7 * 3 = 21
7 * 4 = 28
7 * 5 = 35
7 * 6 = 42
7 * 7 = 49
7 * 8 = 56
7 * 9 = 63
8 * 1 = 8
8 * 2 = 16
8 * 3 = 24
8 * 4 = 32
8 * 5 = 40
8 * 6 = 48
8 * 7 = 56
8 * 8 = 64
8 * 9 = 72
9 * 1 = 9
9 * 2 = 18
9 * 3 = 27
9 * 4 = 36
9 * 5 = 45
9 * 6 = 54
9 * 7 = 63
9 * 8 = 72
9 * 9 = 81
>>>
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2008/05/22 11:21 2008/05/22 11:21
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/3283

목요일 수영강습

워밍업 크롤 200m, 배영 100m, 평영 100m

땅콩 잡고 발차기 25m/자세 풀 25m 세트로
크롤 2세트, 배영 2세트, 평영 2세트, 접영 2세트

땅콩 다리사이에 끼고 크롤 50m 5바퀴

마치고 접영 50m

어깨 땡겨~ ㅋㅋ
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2008/05/22 09:03 2008/05/22 09:03
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/3282

나는 20년 전에 경영자 그룹의 최고 경영자 후보자에 대한 논의에서
32세 때 큰 실패를 맛본 사람에 대해 평가하며
좋지 않은 징조라고 말한 적이 있다.
하지만 오늘 다시 논의하게 된다면
‘실패한 경험이 없는 사람’을 가장 우려할 거 같다.

- 존 코터, 하버드대 교수

미국항공우주국 나사에서는 후보자 채용 심사시에
실패 경험을 매우 중요하게 고려하고 있습니다.
실패 경험이 없는 사람은 큰 어려움에 직면하면
쉽게 당황하고 혼란스러워 하는 반면,
실패를 해본 사람은 중심을 잃지 않고 차분하게
대처할 가능성이 높은 것이 그 이유입니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2008/05/22 08:55 2008/05/22 08:55
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/3281

기적을 만드는 재료들

한 번뿐인 인생에서
나를 이용해 무언가 꼭 이루고 싶은 마음은
멀리 뻗어가 기적이 일어나도록 한다.
무언가 되고 싶고, 하고 싶고, 앞으로 나아가고 싶고,
위로 오르고 싶고, 삶에 더 많은 의미를 부여하고
싶은 욕망은 기적을 만드는 재료들이다.


- 노먼 빈센트 필의《믿는 만큼 이루어진다》중에서 -


* 문제는 그 욕망의 빛깔입니다.
오로지 자기만을 위한 것인가, 더불어 함께 하는 것인가.
혼자만의 행복을 위한 것인가, 함께 행복할 수 있는 것인가.
함께 행복할 수 있는 기적의 재료들은 참으로 많습니다.
좋은 사람 하나가 다시없는 기적의 재료이고
그와 함께 살아 숨쉬는 이 순간이
최고의 기적 재료입니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2008/05/22 08:54 2008/05/22 08:54
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/3280


블로그 이미지

- 홍반장

Archives

Recent Trackbacks

Calendar

«   2008/05   »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Statistics Graph

Site Stats

Total hits:
187016
Today:
485
Yesterday:
789