- 변수
- 리스트
- 인터프리터
제어구조
- 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]
//---
언제나 그러하듯 예제는 따라하기 쉬우나,
중요한건 응용이라는거지~!!!
Posted by 홍반장