기본 입출력
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 사용
'Algorithm' 카테고리의 다른 글
그리디 알고리즘(Greedy)과 구현(Implementation) (1) (0) | 2022.03.27 |
---|---|
알고리즘 기초 및 파이썬 기초 문법(6) - 함수와 람다 표현식, 표준 라이브러리 (0) | 2022.03.25 |
알고리즘 기초 및 파이썬 기초 문법(4) - 사전, 집합 자료형 (0) | 2022.03.25 |
알고리즘 기초 및 파이썬 기초 문법(3) - 리스트, 튜플, 문자열 자료형 (0) | 2022.03.25 |
알고리즘 기초 및 파이썬 기초 문법(2) - 수 자료형 (0) | 2022.03.25 |