3. 루프, 순회(이터레이션)

2016. 10. 14. 21:50Programming Languages/PYTHON

1) 코멘트, 다음 라인에 이어서 쓰기

1
2
3
4
5
#코멘트를 쓸 수 있다.
alphabet='abcedfg'+\
    'hijklmnop'+\
    'qrstuv'+\
    'wxyz'
cs


2) if, elif, else

1
2
3
4
5
6
7
8
first=True
second=False
if first:
    print("FIRST!")
elif second:
    print("SECOND!")
else:
    print("nothing...")
cs


3) while, else, break

1
2
3
4
5
6
7
8
counter=5
while counter>0:
    sentence=input("String to swap-case [type q to quit]: ")
    if sentence==q:
        break
    print(sentence.swapcase())
else:
    print("다섯번 바꾸었습니다!")
cs


4) for를 이용한 순회(이터레이션, iteration)

파이썬에서의 for의 기능은 기존에 다른 언어에서 사용하던 것과 조금 다르다. 파이썬에서는 for와 순회 가능한 객체를 이용해서 반복 작업을 더 손쉽게 할 수 있다. 쓰일 수 있는 순회 가능한 객체는 리스트, 튜플, 딕셔너리, 셋, range 등이 있다.

for loop에서도 break, continue, else를 사용할 수 있다.

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#문자열 순환
for letter in 'cat':
    print(letter)
c
a
t
 
#리스트 순환
for letter in ['a','b','c'] :
    print (letter)
a
b
c
 
#튜플 순환
for letter in ('a','b','c') :
    print (letter)
a
b
c
 
#딕셔너리 순환 : 키만 출력
test_dict={'a':1,'b':2,'c':3} :
for letter in test_dict
    print (letter)
a
b
c
 
#딕셔너리 순환 : (키, 값) 튜플 출력
for letter in test_dict.items() :
    print (letter)
('a',1)
('b',2)
('c',3)
 
#딕셔너리 순환 : 값 출력
for letter in test_dict.values() :
    print(letter)
1
2
3
 
#딕셔너리 순환 : 키와 값을 각각 변수에 담아서 출력
for letter, number in test_dict.values() :
    print("Key:",letter," Value:",number)
Key: a  Value: 1
Key: b  Value: 2
Key: c  Value: 3
cs


range(a,b,c)는 a부터 b-1까지의 숫자를 c 간격으로 나열한 순회 가능한 숫자스트림인데, 세번째 인자 c를 생략하면 자동으로 1간격으로 숫자가 나열된다.

1
2
3
4
5
6
7
8
for number in range(1,10,2)
    print(number)
 
1
3
5
7
9
cs

zip()을 이용해 여러 개의 시퀀스를 병렬로 순회할 수 있다. 이때 반환되는 것은 순회 가능한 시퀀스 이다.

1
2
3
4
5
6
7
8
9
10
11
#zip를 이용해서 여러 시퀀스를 병렬로 순회할 수 있다.
 
days=['Mon','Tue','Wed','Thu']
tops=['shirt','tee']
bottoms=['skirt','longskirt','jean','pants']
 
for day, top, bottom in zip(days,tops,bottoms)
    print (day,top,bottom)
 
Mon shirt skirt
Tue tee longskirt
cs