0%

조건문, 반복문

조건문

특정 조건에 따라서, 코드를 실행하고자 할때 사용합니다.

if, else, elif

1
2
3
4
5
6
7
8
9
10
11
12
13
#조건부분에 bool 데이터 타입 이외의 데이터 타입이 오면 bool로 형변환 되어 판단
if False :
print('python')

print('done')
# done

number = 5
if number % 2 :
print('홀수')
else:
print('짝수')
# 홀수

정반대의 조건 이면 else, 그게 아니면 elif를 사용합니다. elif를 만족하면 조건문을 빠져 나옵니다. 즉 아래쪽의 코드를 실행하지 않습니다.

1
2
3
4
5
6
7
8
9
10
# 지갑에 돈이 10000원 이상 있으면 택시를 타고
# 그리고 5000원 이상, 10000원 미만이 있으면 버스를 탑니다.
# 그렇지 않으면 걸어 갑니다.
money = 2000
if money >= 10000:
print('택시를 타고 집에 간다.')
elif money >= 5000:
print('광역 버스를 타고 집에 간다.')
else:
print('걸어서 집에 갑니다.')

반복문

반복되는 코드를 실행할때 사용합니다.

while

1
2
3
4
5
6
7
8
9
10
# while
data = 3
while data: #조건이 False가 될때까지 구문의 코드를 실행

#반복되는 코드
print(data)
data -=1
# 3
# 2
# 1

for

iterable한 값을 하나씩 꺼내서 variable에 대입 시킨후 코드를 iterable변수의 값 갯수 만큼 실행합니다.

1
2
for <variable> in <iterables>:
<code>
1
2
3
4
5
6
7
# for를 이용하여 코드를 100번 실행
# range 함수 : iterable한 데이터 타입을 만듦
list(range(100))
result = 0
for data in range(100):
result += data
result

continue : 조건부분으로 올라가서 코드가 실행됩니다.

1
2
3
4
5
6
7
8
9
10
ls = [0,1,2,3,4]
#짝수만 출력하는 식
for data in ls :
if data % 2 : # data가 홀수가 되면 continue를 실행,
# %2했을 때 나머지 0 되면 False 밑에 있는 코드 실행
continue

#data가 짝수이면 print를 실행, 끝에 ' '추가
print(data,end = " ")
# 2 4 6
연습문제 1
1
2
3
4
5
6
7
subjects = ["korean","english","math"]
scores = [80,90,100]
# for문에서 iterable 데이터가 tuple로 나오면 여러개 변수로 받을수 있습니다.
# subjects, scores 각각 list데이터를 zip으로 묶은다음 받아줄 각각 받아줄 변수 2개를 설정
for subject,point in zip(subjects,scores):
print(subject,point)
#zip 같은 인덱스 끼리 튜플로 묶어줌, 튜플이 구성되어 있는 안의 요소 개수 만큼 변수 받아 줘야 합니다.
연습문제 2
1
2
3
4
for num2 in range(1,10):
for num1 in range(2,10):
print("{}*{}={} ".format(num1,num2,num1*num2),end="\t")
print()

list comprehention

리스트 데이터를 만들어주는 방법입니다. for문 보다 빠르게 동작합니다

1
2
3
4
5
6
7
8
ls = [1,2,3,4,5,6]
ls2 = ["a","b","c","d","e","f"]

result = [data**2 for data in ls]
result
result2 = {key:value for key,value in zip(ls,ls2)}
print(result, result2)
# [1, 4, 9, 16, 25, 36] {1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e', 6: 'f'}