-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsection05-2.py
158 lines (120 loc) · 2.83 KB
/
section05-2.py
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
# Section05-2
# 파이썬 흐름제어(제어문)
# 반복문 실습
# 코딩의 핵심 -> 조건 해결 중요
# 기본 반복문 사용(while, for)
v1 = 1
while v1 < 11:
print("v1 is :", v1)
v1 += 1
for v2 in range(10):
print("v2 is :", v2)
for v3 in range(1, 11):
print("v3 is :", v3)
for v4 in range(1, 11, 2):
print("v4 is :", v4)
# 1 ~ 100합
sum1 = 0
cnt1 = 1
while cnt1 <= 100:
sum1 += cnt1
cnt1 += 1
print('1 ~ 100 합 : ', sum1)
print('1 ~ 100 합 : ', sum(range(1, 101))) # sum(리스트)
print('1 ~ 100 안에 3의 배수의 합 : ', sum(range(1, 101, 3)))
# 시퀀스(순서가 있는) 자료형 반복
# 문자열, 리스트, 튜플, 집합, 사전
# iterable 리턴 함수 : range, reversed, enumerate, filter, map, zip
# 예제1
names = ["Kim", "Park", "Cho", "Lee", "Choi", "Yoo"]
for name in names:
print("You are", name)
# 예제2
lotto_numbers = [11, 19, 21, 28, 36, 37]
for number in lotto_numbers:
print("Your number", number)
# 예제3
word = 'dreams'
for s in word:
print('word : ', s)
# 예제4
my_info = {
"name": "Kim",
"age": 33,
"city": "Seoul"
}
for key in my_info:
print(key, ":", my_info[key])
for val in my_info.values():
print(val)
# 예제5
name = 'KennRY'
for n in name:
if n.isupper():
print(n)
else:
print(n.upper())
numbers = [14, 3, 4, 7, 10, 24, 17, 2, 33, 15, 34, 36, 38]
# break
for num in numbers:
if num == 33:
print("found : 33!")
break
else:
print("not found : ", num)
# continue
lt = ["1", 2, 5, True, 4.3, complex(4)]
for v in lt:
if type(v) is float:
continue
print("type:", type(v))
print("multiply by 2:", v * 3)
# for-else 실습
numbers = [14, 3, 4, 7, 10, 24, 17, 2, 33, 15, 34, 36, 38]
for num in numbers:
if num == 33: # 45
print("found : 33!")
break
else:
print("not found : ", num)
else:
print("Not Found 39...")
# flag 사용
f = True
numbers = [14, 3, 4, 7, 10, 24, 17, 2, 33, 15, 34, 36, 38]
while f:
for v in numbers:
if v == 33:
print("found : 33!")
f = False
print("not found : ", v)
# else 구문 정리(반복문이 정상적으로 수행 된 경우 else 블럭 수행)
# 예제1
i = 1
while i <= 10:
print('i : ', i)
if i == 6:
break
i += 1
else:
print('else block run!')
# 예제2
j = 1
while j <= 10:
print('j : ', j)
if j == 11:
break
j += 1
else:
print('else block run!')
# 중첩 for 문 구구단 출력
for i in range(1, 11):
for j in range(1, 11):
print('{:4d}'.format(i * j), end='')
print()
# 자료 구조 변환 예제
name = 'Niceman'
print('reversed : ', reversed(name))
print('list : ', list(reversed(name)))
print('list : ', tuple(reversed(name)))
print('list : ', set(reversed(name))) # 순서X