[Python] Chapter1 : 알고리즘 기초

daymoon_·2021년 10월 30일
1
post-thumbnail

🔊 주의사항

책에 있는 실습과 내용을 똑같이 적으면 저작권 문제가 될 수도 있기 때문에 약간의 변형을 하여 작성하였습니다. (특히, 실습 코드)


📑 들어가기전

VS CODE 단축키

웬만하면 단축키를 사용하여 효율적으로 프로그램을 사용하자!
🔎 참고자료 : https://elvanov.com/1084

필자가 자주 사용하는 단축키
▶ Ctrl + A : 전체 선택
▶ Ctrl + Z, Ctrl + Shift + Z : 실행 취소, Ctrl+Z 실행 취소
▶ Ctrl + S, Ctrl + Shift + S : 저장, 다른 이름으로 저장
Alt + Shift + F : VS CODE Python 자동 정렬
Alt + Shift + ↓ : VS CODE Python 위에 있는 코드 복붙(복사+붙여넣기)
▶ Ctrl + X : 잘라내기


📚 01-1 알고리즘이란?

조건식

if와 콜론(:) 사이에 있는 식

if (조건식):
	실행문1
else:
	실행문2

순차구조 (Sequential Structure)

한 문장씩 순서대로 처리되는 구조

선택구조 (Select Structure)

조건식으로 평가한 결과에 따라 프로그램 실행 흐름이 변하는 구조

문자열과 숫자 입력받기

input() 함수는 키보드로 문자열을 입력받아 반환한다.
정수형을 입력받고 싶은 경우 형변환(type conversion)을 이용하여 int(input())으로 작성, 실수형은 float(input())으로 작성한다.

알고리즘 순서도 및 작성방법

🔎 참고자료
https://kitchu.tistory.com/13
https://lattediary.tistory.com/300

순서도(flowchart)는 문제를 정의/분석하고 해결하는 방법을 그림으로 표현한 것이다.

함수

🔎 참고자료 : https://wikidocs.net/24

함수는 파라미터에 값을 입력받아 함수 내부에서 처리한다. 값을 반환할 경우 return문을 사용한다. 또한, 함수의 반환 값을 얻기 위해서는 함수를 호출해야한다.

파이썬 스타일 가이드

🔎 참고자료 : https://www.python.org/dev/peps/pep-0008/

클래스명함수명
카멜케이스(CamelCase)스네이크(snake_case)

pass

🔎 참고자료 : https://docs.python.org/ko/3/tutorial/controlflow.html

pass문은 아무것도 수행하지 않고 그냥 지나가라는 의미이다.

연산자와 피연산자

  • 단항 연산자(unary operator) : 피연산자 1개
  • 이항 연산자(binary operator) : 피연산자 2개
  • 삼항 연산자(ternary operator) : 피연산자 3개


📚 01-2 반복하는 알고리즘

while 문

while문을 실행하기 전에 반복문을 계속할 것인지를 판단하는데 이런 구조를 판단 반복 구조라고 한다. 즉, 특정 조건을 만족하는 동안 계속 반복한다.

while 조건식:
	명령문

for 문

시작값과 종료값 등으로 범위를 지정하여 반복을 수행한다. 반복의 횟수 또는 범위를 미리 알고 있는 경우 for문을 사용하는 것이 좋다. (변수가 하나만 있는 경우 while문보다 for문을 사용하는 것이 바람직하다.)

# 범위 주의!
for i in range(a, b):
	실행문
    
for i in 범위:
	실행문

range()함수로 이터러블 객체 생성

range()함수는 이터러블 객체를 생성한다.

두 값 교환하기

break와 continue

  • break를 사용하면 가장 가까운 반복문을 찾아서 종료(탈출)한다.
  • continue를 사용하면 다음 실행문을 수행하지 않고 건너뛴다.

파이썬 변수

파이썬에서는 데이터, 함수, 클래스, 모듈, 패키지 등을 모두 객체(object)로 취급한다. 객체는 자료형(data type)을 가지며 메모리(저장 공간)을 차지한다.

즉, 파이썬의 변수 값을 갖지 않는다.

profile
미지의 공간🌙

0개의 댓글