반응형

기본 입출력

- 모든 프로그램은 적절한 입출력 양식을 가지고 있습니다.

- 프로그램 동작의 첫 번째 단계는 데이터를 입력 받거나 생성하는 것입니다.

 

자주 사용하는 표준 입력 방법

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

- Map() 함수는 리스트의 모든 원소에 각각 특정한 함수를 적용할 때 사용합니다.

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

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

print(n)
print(data)

 

빠르게 입력 받기

- 사용자로부터 입력을 최대한 빠르게 받아야 하는 경우가 있습니다.

- 파이썬의 경우 sys 라이브러리에 정의되어 있는 sys.stdin.readline() 메서드를 이용합니다.

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

import sys

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

 

자주 사용되는 표준 출력 방법

- 파이썬에서 기본 출력 print() 함수를 이용합니다.

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

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

  - 줄 바꿈을 원치 않는 경우 'end' 속성을 이용할 수 있습니다.

 

출력을 위한 전형적인 소스코드

# 출력할 변수들
a = 1
b = 2
print(a, b) # 12
print(7, end=" ")
print(8, end=" ")

# 출력할 변수
answer = 7
print(" 정답은 " + str(answer) + "입니다.") # 7 8 정답은 7입니다.

 

<조건문과 반복문>

조건문

- 조건문은 프로그램을 작성할 때 프로그램의 흐름을 제어하는 문법입니다.

- 조건문을 이용해 조건에 따라서 프로그램의 로직을 설정할 수 있습니다.

x = 15

if x >= 10:
	print(x) # 15

- 조건문의 기본적인 형태는 if ~ elif ~ else 입니다.

  - 조건문을 사용할 때 elif 혹은 else 부분은 경우에 따라서 사용하지 않아도 됩니다.

 

성적 구간에 따른 학점 출력 예시

score = 85

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

# 학점 B

 

비교 연산자

- 비교 연산자는 특정한 두 값을 비교할 때 이용할 수 있습니다.

논리 연산자

- 논리 연산자는 논리 값 사이의 연산을 수행할 때 사용합니다.

 

파이썬의 기타 연산자

- 여러 개의 데이터를 담는 자료형을 위해 in 연산자와 not in 연산자가 제공됩니다. 

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

 

파이썬의 pass 키워드

- 조건문의 값이 참(True)이라고 해도, 아무것도 처리하고 싶지 않을 때 pass 키워드를 사용합니다.

 

반복문

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

- 무한 루프(Infinite Loop): 계속해서 반복되는 반복 구문

 

1부터 9까지 각 정수의 합 구하기

i = 1
result = 0

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

 

1부터 9까지 홀수의 합 구하기

i = 1
result = 0

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

 

반복문: for문

- 반복문으로 for문을 이용할 수도 있습니다.

- for문의 구조는 다음과 같은데, 특정한 변수를 이용하여 'in' 뒤에 오는 자료형(리스트, 튜플 등)에 포함 

되어 있는 원소를 첫 번째 인덱스부터 차례대로 하나씩 방문합니다.

for 변수 in 리스트:
	실행할 소스코드

- for문에서 수를 차례대로 나열할 때는 range()를 주로 사용합니다.

   - 이때 range(시작 값, 끝 값) 형태로 사용합니다.

   - 인자를 하나만 넣으면 자동으로 시작 값은 0이 됩니다.

result = 0

# i는 1부터 9까지의 모든 값을 순회
for i in range(1, 10):
	result += i
    
print(result) # 45   

 

학생들의 합격 여부 판단 예시 1) 점수가 80점만 넘으면 합격

scores = [90, 85, 77, 65, 97]

for i in range(5):
	if scores[i] >= 80:
    	print(i + 1, "번 학생은 합격입니다.")
        
'''
1 번 학생은 합격입니다.
2 번 학생은 합격입니다.
5 번 학생은 합격입니다.
'''

 

학생들의 합격 여부 판단 예시 2) 특정 번호의 학생은 제외하기

scores = [90, 85, 77, 65, 97]
cheating_student_list = {2, 4}

for i in range(5):
	if i + 1 in cheating_student_list:
    	continue
    if scores[i] >= 80:
    	print(i + 1, "번 학생은 합격입니다.")

'''
1 번 학생은 합격입니다.
5 번 학생은 합격입니다.
'''

 

중첩된 반복문: 구구단 예시

for i in range(2, 10):
	for j in range(1, 10):
    	print(i, "X", j, "=", i * j)
    print()

 

 

반응형

'코딩테스트 준비 > python' 카테고리의 다른 글

그리디 & 구현 # 1  (0) 2020.11.25
파이썬 문법 #4  (0) 2020.11.19
파이썬 문법 #2  (0) 2020.11.18
파이썬 문법 #1  (0) 2020.11.18
코딩 테스트 개요  (0) 2020.11.18

+ Recent posts