프로그래밍/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

 

머신러닝/딥러닝 강의

머신러닝과 딥러닝의 동작원리와 이러한 알고리즘을 파이썬으로 구현한 강의 자료입니다.

www.youtube.com