본문 바로가기

Algorithm

알고리즘 기초 및 파이썬 기초 문법(5) - 입출력, 조건문과 반복문

기본 입출력

1. 입력

- input( ) 함수 : 한 줄의 문자열을 입력 받는 함수

- map( ) 함수 : 리스트의 모든 원소에 각각 특정한 함수를 적용할 때 사용

 

공백을 기준으로 구분된 데이터를 입력 받을 때

   - list(map(int, input( ).split( )))

공백을 기준으로 구분된 데이터의 개수가 많지 않을 때

   - a, b, c = map(int, input( ).split( ))

 

# 데이터의 개수 입력
n = int(input())

# 각 데이터를 공백을 기준으로 구분하여 입력
data = list(map(int, input().split()))

 

+ ) 입력을 빠르게 받는 법

- sys 라이브러리에 정의되어 있는 sys.stdin.realine( ) 메서드를 이용

- 단, 입력 후 엔터가 줄 바꿈 기호로 입력되므로 rstrip( ) 메서드를 함께 사용

 

import sys

#문자열 입력 받기
data = sys.stdin.readline().rstrip()
print(data)

2. 출력

- print( ) 함수 이용

- 각 변수를 콤마( , )를 이용하여 띄어쓰기로 구분하여 출력할 수 있음

- print( )는 기본적으로 출력 이후에 줄 바꿈을 수행

- 줄 바꿈을 원치 않는 경우 'end' 속성을 이용

 

a = 1
b = 2
print(a, b)
# 1 2

print(7, end=" ")
print(8, end=" ")
# 7 8

answer = 7
print('정답은 '+str(answer)+'입니다.')
# 정답은 7입니다.

 

+ ) f - string

- 문자열 앞에 접두사 'f'를 붙여 사용

- 중괄호 안에 변수명을 기입하여 간단히 문자열과 정수를 함께 넣을 수 있음

 

answer = 7
print(f"정답은 {answer}입니다.")

# 정답은 7입니다.

조건문

1. 조건문

- 프로그램의 흐름을 제어하는 문법

- 코드의 블록(Block)을 들여쓰기로 지정

 

x = 15

if x >= 10:
	print("x >= 10")
# x >= 10
# if ~ elif ~ else

score = 85

if score >= 90:
	print("학점: A")
elif score >= 80:
	print("학점: B")
elif score >= 70:
	print("학점: C")
else:
	print("학점: F")

# 학점: B

 

+ ) 조건문의 간소화

 

# 조건문에서 실행될 소스코드가 한 줄인 경우
score = 85

if score >= 80: result = "Success"
else: result = "Fail"

# 조건부 표현식은 if ~ else문을 한 줄에 작성할 수 있도록 함
score = 85

result = "Success" if score >= 80 else "Fail"
print(result)

# Success

 

+ ) 조건문 내에서의 부등식

- x > 0 and x < 20 과 0 < x < 20은 같은 결과 반환

 

# 부등식 1
x = 15
if x > 0 and x < 20:
	print("True")
    
# 부등식 2
x = 15
if 0 < x < 20:
	print("True")

2. 비교 연산자

- 특정한 두 값을 비교할 때 이용

 

출처 : 이코테

3. 논리 연산자

- 논리 값(True/False) 사이의 연산 수행시 사용

 

출처 : 이코테

4. 기타 연산자

- 다수의 데이터를 담는 자료형을 위해 in 연산자와 not in 연산자가 제공

- 리스트, 튜플, 딕셔너리, 문자열 모두에서 사용 가능

 

출처 : 이코테

5. pass 키워드

- 아무것도 처리하고 싶지 않을 때 pass 키워드 사용

- 디버깅 과정에서 조건문의 형태만 만들어 놓고 조건문을 처리하는 부분을 비워놓고 싶은 경우 사용

 

score = 85

if score >= 80:
	pass # 나중에 작성할 소스코드
else:
	print('성적이 80점 미만입니다.')
print('프로그램을 종료합니다')

# 프로그램을 종료합니다.

반복문

1. 반복문

- 특정한 소스코드를 반복적으로 실행하고자 할 때 사용하는 문법

- while문, for문

2. 반복문 while문

i = 1
result = 0

# i가 9보다 작거나 같을 때 아래 코드를 반복적으로 실행
while i <= 9:
	result += i
    i += 1
print(result)
# 45

 

- 무한루프(Infinite Loop) : 끊임없이 반복되는 반복 구문

- 반복문을 작성한 뒤에 항상 반복문을 탈출할 수 있는 지 확인

3. 반복문 for문

- 특정한 변수를 이용하여 in 뒤에 오는 데이터(리스트, 튜플 등)에 포함되어 있는 원소를 첫 번째 인덱스부터 차례대로 하나씩 방문

 

array = [1, 2, 3, 4]

for i in array:
	print(i)
    
# 1
# 2
# 3
# 4

 

- range( ) 함수: 연속적인 값을 차례대로 순회할 때 사용

- range(시작 값, 끝 값 + 1) 형태로 사용

- 인자를 하나만 넣으면 자동으로 시작 값은 0

 

result = 0

for i in range(1, 10):
	result += i
print(result)
# 45

4. continue, break 키워드

- 반복문에서 남은 코드의 실행을 건너뛰고, 다음 반복을 진행하고자 할 때 continue 사용

- 반복문을 즉시 탈출하고자 할 때 break 사용