Language/Python

[Python] 기본 문법 - 조건문, 반복문

Ella_K 2022. 4. 30. 02:46

'이것이 취업을 위한 코딩 테스트다 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