'이것이 취업을 위한 코딩 테스트다 with 파이썬 - 부록A' 와 '점프 투 파이썬' 을 참고하여 정리한 내용입니다.
2. 조건문
👉 if문 구조
- if, elif, else 사용
- 조건문 다음에 (:) 을 사용
if 조건문 1:
조건문 1이 True일 때 실행되는 코드
elif 조건문 2:
조건문 1에 해당하지 않고, 조건문 2가 True일 때 실행되는 코드
else:
위의 모든 조건문이 모두 True가 아닐때(False일 때) 실행되는 코드
👉 비교 연산자
비교 연산자 | 설명 |
X == Y | X와 Y가 서로 같을 때 True |
X != y | X와 Y가 서로 다를 때 True |
X > Y | X가 Y보다 클 때 True (초과) |
X < Y | X가 Y보다 작을 때 True (미만) |
X >= Y | X가 Y보다 크거나 같을 때 True (이상) |
X <= Y | X가 Y보다 작거나 같을 때 True (이하) |
x = 3
y = 2
print(x > y) # True
if x == y:
print('x와 y가 같습니다.')
elif x > y:
print('x가 y보다 큽니다.')
else:
print('x가 y보다 작습니다.')
# x가 y보다 큽니다.
👉 논리 연산자
논리 연산자 | 설명 |
X and Y | X와 Y가 모두 True일 때 True |
X or Y | X와 Y중에 하나만 True여도 True |
not X | X가 False일 때 True |
👉 in, not in 연산자
- X in S, X not in S 형태로 S로는 리스트, 문자열, 튜플이 올 수 있다.
연산자 | 설명 |
X in S | S안에 X가 들어가 있을 때 참 |
X not in S | S안에 X가 들어가 있지 않을 때 참 |
print('a' in 'abc') # True
age = [20,32,44]
if 20 in age:
print('있음')
else:
print('없음')
# 있음
👉 기타
pass
- 조건문에서 아무것도 처리하고 싶지 않을 때 사용
money = 4000
if money > 2000:
pass
else:
print('돈이 적어요')
print('종료')
# 종료
if 문 한 줄로 작성
money = 4000
if money > 2000 : pass
else: print('돈이 적어요')
print('종료')
# 종료
조건부 표현식
- 조건문이 참인 경우 if 조건문 else 조건문이 거짓인 경우
score = 90
if score > 60: message = '통과'
else: message = '나머지'
message = '통과' if score > 60 else '나머지'
둘은 같은 코드이다.
3. 반복문
👉 While문
while문 구조
while 조건문:
조건문이 True일 동안 실행되는 코드
i = 1
result = 0
while i <= 10:
result+=i
i+=1
# result = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 9 + 10
print(result) # 55
무한 루프
while True:
print("무한루프 실행중. 빠져나갈려면 Ctrl+C를 누르세요.")
👉 for문
for 문 구조
- iterable 객체(list, string, tuple, set, dict, range, bytes)를 이용하여 반복문을 수행한다.
for i in iterable:
print(i)
수행할 코드
...
iterable 객체 안에 있는 원소들이 차례대로 i에 대입되고, for 문 아래의 코드를 수행한다.
# 리스트
a = [1,2,3,4,5]
for i in a:
print(i, end = ' ')
print()
# 1 2 3 4 5
# 문자열
b = '12345'
for i in b:
print(i, end = ' ')
print()
# 1 2 3 4 5
# 튜플
c = (1,2,3,4,5)
for i in c:
print(i, end = ' ')
print()
# 1 2 3 4 5
# 집합
e = {5,4,3,2,1}
for i in e:
print(i, end = ' ')
print()
# 1 2 3 4 5
# 딕셔너리
dic = {'name':'dongsu','age':17,'height':177}
for i in dic:
print(i, ':' ,dic[i])
# name : dongsu
# age : 17
# height : 177
# range
for i in range(1,6):
print(i, end=' ')
# 1 2 3 4 5
range
- for 문과 자주 사용됨
- range(n) : 0 부터 n-1까지 수를 차례로 나열
- range(시작, 끝+1) : 시작 값부터 끝 값까지 수를 차례로 나열
- range(시작, 종료, step) : 시작 값부터 step 간격으로 종료 숫자 전(미만)까지 수를 차례로 나열
print(list(range(5))) # [0,1,2,3,4]
print(list(range(1,6))) # [1,2,3,4,5]
print(list(range(1,15,3))) # [1,4,7,10,13]
print(list(range(5,0,-1))) # [5,4,3,2,1]
print(list(range(15,2,-3))) # [15,12,9,6,3]
for i in range(5):
print(i,end=' ')
print()
# 0 1 2 3 4
for i in range(5,0,-1):
print(i,end=' ')
# 5 4 3 2 1
for iterable in iterable
a = [(1,2),(3,4),(5,6)]
for i, v in a:
print(f'({i}, {v})', end =' ')
print()
# (1, 2) (3, 4) (5, 6)
a = ((1,2),(3,4),(5,6))
for i, v in a:
print(f'({i}, {v})', end =' ')
print()
# (1, 2) (3, 4) (5, 6)
a = [[1,2],[3,4],[5,6]]
for i, v in a:
print(f'({i}, {v})', end =' ')
print()
# (1, 2) (3, 4) (5, 6)
a = [[1,2,3],[4,5,6],[7,8,9]]
for n, m, l in a:
print(f'({n}, {m}, {l})', end =' ')
print()
# (1, 2, 3) (4, 5, 6) (7, 8, 9)
enumerate
- 인덱스 번호와 iterable 객체 원소를 tuple 형태로 반환
a = ['a','b','c','d','e']
for t in enumerate(a):
print(t, end=' ')
print()
# (0, 'a') (1, 'b') (2, 'c') (3, 'd') (4, 'e')
a = ['a','b','c','d','e']
for i,s in enumerate(a):
print(f'({i}, {s})', end=' ')
# (0, a) (1, b) (2, c) (3, d) (4, e)
👉 반복문에서 break 와 continue
- break를 만나면 반복문을 빠져나간다.
a = [10,50,90,60]
i = 0
while True:
print(i+1, end=' ')
if a[i] >= 90:
print()
print(f'{i+1}번째에서 종료합니다.')
break
i+=1
print('종료')
# 1 2 3
# 3번째에서 종료합니다.
# 종료
a = [10,50,90,60]
for i, score in enumerate(a):
print(i+1, end=' ')
if score >= 90:
print()
print(f'{i+1}번째에서 종료합니다.')
break
print('종료')
# 1 2 3
# 3번째에서 종료합니다.
# 종료
- continue를 만나면 반복문의 처음으로 돌아간다.
a = 0
while a < 10:
a += 1
if a % 2 == 0: continue # 짝수면 건너 뛴다
print(a, end =' ')
# 1 3 5 7 9
a = [70,50,90,32,80]
cheat_num = {1,5} # 컨닝한 사람 번호
for i, score in enumerate(a):
if i+1 in cheat_num:
continue # 컨닝한 사람은 통과시키지 않는다
if score >= 60:
print(f'{i+1}번째 학생 통과')
# 3번째 학생 통과
'Language > Python' 카테고리의 다른 글
[Python] requests 라이브러리 (0) | 2022.07.10 |
---|---|
[Python] 입출력 (0) | 2022.06.22 |
[Python] 내장함수 (0) | 2022.06.17 |
[Python] 기본 문법 - 함수 (0) | 2022.06.15 |
[Python] 기본 문법 - 자료형 (0) | 2022.04.28 |