프로그래밍/Python
[Python] 조건문, 반복문
노력의천재
2020. 11. 21. 18:11
조건문, 반복문
조건문 if
a = 1
if a > 0:
print("a == ", a)
print("positive number")
elif a == 0:
print("a == ", a)
print("zero")
else:
print("a == ", a)
print("negative number")
# 결과
a == 1
positive number
list_data = [10, 20, 30, 40, 50]
dict_data = {'key1' : 1, 'key2' : 2}
if 45 in list_data:
print("45 is in list_data")
else:
print("45 is not in list_data")
if 'key1' in dict_data:
print("key1 is in dict_data")
else:
print("key1 is not in dict_data")
# 결과
45 is not in list_data
key1 is in dict_data
- 파이썬은 코딩 블럭을 표시하기 위해 들여쓰기를 사용함
- 동일한 블럭의 들여쓰기는 모두 동일한 수의 공백을 사용해야 함
- 공백과 탭을 혼용해서 사용하면 IndentationError: unexpected indent 에러 발생
반복문 for
for data in range(10): # range() 함수는 시작 값 ~ 마지막 값 - 1
print(data, " ", end = '') # print문을 실행할 때 다음 행으로 넘어가지 말고 같은 행에서 출력하라는 뜻
# 결과
0 1 2 3 4 5 6 7 8 9
for data in range(0, 10): # 0 부터 10 - 1 까지 1씩 증가하면서 반복
print(data, " ", end = '')
# 결과
0 1 2 3 4 5 6 7 8 9
for data in range(0, 10, 2): # 0 부터 10 - 1 까지 2씩 증가하면서 반복
print(data, " ", end = '')
# 결과
0 2 4 6 8
list_data = [10, 20, 30, 40, 50]
for data in list_data:
print(data, " ", end = '')
# 결과
10 20 30 40 50
dict_data = {'key1' : 1, 'key2' : 2}
for data in dict_data:
print(data, " ", end = '')
# 결과
key1 key2
for key, value in dict_data.items():
print(key, " ", value)
# 결과
key1 1
key2 2
반복문 list comprehension
- 리스트의 [ ] 괄호 안에 for 루프를 사용하여 반복적으로 표현식을 사용해서 리스트 요소들을 정의하는 방법
- 머신러닝 코드에서 자주 사용되는 기법
list_data = [x ** 2 for x in range(5)] # 0부터 5 -1 까지의 값을 제곱한 값을 출력
print(list_data)
# 결과
[0, 1, 4, 9, 16]
raw_data = [[1, 10], [2, 15], [3, 30], [4, 55]]
all_data = [x for x in raw_data]
x_data = [x[0] for x in raw_data]
y_data = [x[1] for x in raw_data]
print("all_data == ", all_data)
print("x_data == ", x_data)
print("y_data == ", y_data)
all_data == [[1, 10], [2, 15], [3, 30], [4, 55]]
x_data == [1, 2, 3, 4]
y_data == [10, 15, 30, 55]
# 짝수와 홀수를 출력하는 list comprehension
even_number = []
odd_number = []
for data in range(10):
if data % 2 ==0:
even_number.append(data)
else:
odd_number.append(data)
print(even_number)
print(odd_number)
# 결과
[0, 2, 4, 6, 8]
[1, 3, 5, 7, 9]
반복문 while, break, continue
data = 5
while data >= 0:
print("data == ", data)
data -= 1
if data == 2:
print("break here")
break
else:
print("continue here")
continue
# 결과
data == 5
continue here
data == 4
continue here
data == 3
break here
참고
www.youtube.com/playlist?list=PLS8gIc2q83OjStGjdTF2LZtc0vefCAbnX