티스토리 뷰

코딩 초급

[Python] 기초1

태장고 21302 2021. 10. 10. 00:00

강의에 들어가기 전에!! 빠른 이해를 원한다면, 꼭 파이썬 IDE에서 코드를 돌려보세요!!

https://www.python.org/downloads/

^-- 파이썬 설치 링크

 

기초 출력 / 문장

 

파이썬에서 출력은 다음과 같이 할 수 있습니다.

print("Hello")

파이썬은 출력문으로 print()를 사용합니다. 위 코드는 Hello 라는 문장을 출력(print)하는 코드입니다.

( python에서 출력을 할 때, 큰 따옴표를 사용하지 않고 작은 따옴표를 사용해도 된다!! )

위 코드를 통해서 원하는 문장이나 특수문자를 출력할 수 있지만, 예외가 존재합니다.

 

*큰 따옴표와 작은 따옴표 출력

일반 문장을 출력할 때는 작은 따옴표를 사용하던 큰 따옴표를 사용하던 상관이 없지만, 따옴표를 출력할 때에는 따져주어야 한다. 작은 따옴표를 출력하고 싶다면 큰 따옴표를 먼저 쓰고 작은 따옴표를 써주면 된다.

큰 따옴표를 출력하고 싶다면 작은 따옴표를 먼저 쓰고 큰 따옴표를 써주면 된다. 다음은 예시 코드이다.

print("'Hello'") #작은 따옴표를 출력하는 코드
print('"Hello"') #큰 따옴표를 출력하는 코드

 

*백 슬래쉬(  ) 출력

약간의 팁 느낌으로~ 백 슬래쉬는 안전빵으로 2번 써주자! 이유는 정확히 모르지만 혹시 백 슬래쉬를 2개 이상 출력하려고 하면 버그가 날 수도 있다.

 

*여러번 출력하기

어떤 문자를 여러번 출력하고 싶다면 문자에 숫자를 곱해주면 됩니다. 다음은 I love you를 3번 출력하는 코드입니다.

print('I love you' * 3)

 

기초 입출력 / 변수

파이썬은 입력할 때 input()을 사용합니다. 아래 코드는 a라는 변수를 입력 받고 그대로 출력하는 코드입니다.

a = input() #변수 a를 선언(declare)함
print(a) #변수 a를 출력함

15라는 수를 입력하면 a라는 변수에 15라는 수를 저장해 두었다가 a에 저장된 수를 출력하는 흐름으로 진행됩니다.

 

변수를 2개 선언하고 출력하고 싶다면? 다음과 같이 코드를 짜 주면 됩니다.

a = input() #변수 a선언
b = input() #변수 b선언
print(a) #변수 a출력
print(b) #변수 b출력

여기서 변수를 입력해 줄 때 주의를 해 주어야 하는데, 파이썬 코드는 C/C++코드와 다르기 때문에 선언하는 형태와 입력하는 형태가 같아야 합니다. 변수를 줄 바꾸어 선언하였다면, 입력도 줄을 바꾸어 입력해 주어야 합니다.

 

하지만 그렇다고 해서 한 줄로 입력하는 방법이 없는 것은 아닙니다.

 

*변수 나누어서 입력받기

파이썬에서 변수를 나누어 입력받을 때에는 split()을 사용합니다. 다음은 변수를 나누어 입력받는 코드입니다.

a, b = input().split() #변수를 a와 b에 나누어서 저장함
print(b) #b에 저장된 값을 출력
print(a) #a에 저장된 값을 출력

split()을 사용하는 경우는 변수를 일렬로 입력하고 싶을 때 사용합니다. 변수 2개를 입력할 때, 따로 선언할 경우 줄을 바꾸어 입력해 주어야하지만 split()을 사용하면 한 줄에 여러개의 변수를 입력받을 수 있습니다. 그리고 split()의 괄호 안에 문자를 넣어주면 넣은 문자로 분리해서 입력을 받는다. 예시는 아래에~!

 

*변수 나누어서 출력하기

출력할 경우에도 sep을 사용해 한 줄에 나누어서 출력할 수 있습니다. 다음은 변수를 나누어 출력하는 코드입니다.

a = input()
b = input()
print(a, b, sep = ' ')

sep을 사용하는 이유는 변수를 나누어 출력하기 위함 입니다. 위 코드에서 따옴표 사이에 무엇을 입력해 주느냐에 따라서 변수를 출력할 때 무엇으로 나누어 출력할지가 결정이 됩니다. 다음 코드는 시간을 입력받아 그대로 출력하는 코드입니다.

a, b = input().split(':') #3:35를 입력받아 a에는 3을 b에는 35를 저장함
print(a, b, sep = ':') #a와 b를 출력하면서 사이에 클론 기호( : )를 넣어 출력함

 

변수 타입( type )

변수는 정수, 실수, 문자 등의 타입으로 저장할 수 있다. 컴퓨터는 저장할 때 2진수로 저장하기 때문에~! 입력 받은 수가 문자인지 정수인지 실수인지 알 수가 없다. 따라서 입력한 변수가 어떤 타입인지 알려주어야 한다.

 

*정수(integer, int) : 정수는 영어로 integer이다. 이것은 10진 정수를 의미한다.

*실수(floating number, float) : 실수가 floating number라고 불리는 이유는 소수점의 위치가 변하기 때문이라고 예상하고 있다.

*문자(charector, char / chr) : 문자는 charector라고 불리고 타입을 선언할 때에는 chr로 선언해 준다.

*문자열(string, str) : 문자열은 문자나 문장을 나타낸다. str로 선언해 줄 수 있다.

**유니코드 변환(ord) : 문자를 입력 받으면 유니코드의 정수로 바꾸어 주는 역할을 한다.

**참/거짓(bool) : 참 거짓을 이용한 논리 연산을 위해 필요한 연산이다.

 

타입 변환을 해 주는 방법은 다음과 같다.

a = input()
a = int(a) #a라는 변수를 10진 정수로 변환
print(a)

 

내용이 길어져서 하는 정리!!

변수는 input()으로 선언하고 print()로 출력할 수 있다.

변수를 나누어 입력받거나 나누어 출력할 때에는 split()이나 sep()을 사용해 준다.

변수에는 타입이 존재하는데, 컴퓨터가 구별하게 하려면 꼭 해 주어야 하는 작업이다.

 

Python 연산

덧셈( + ), 뺄셈( - ), 곱셈( * ), 몫( // ), 나머지( % ), 나눗셈( / ), 거듭제곱(**)과 같은 연산자를 이용해서 연산을 해 줄 수 있다. Python언어는 연산량이 굉장이 커서 엄청나게 큰 수도 빠른 연산이 가능하다. 연산을 할 경우에는 반드시 타입을 변경해 주어야 한다. 그렇지 않으면? 바로 에러가 터지니 혹시 에러가 터졌다면 어디 변수 타입을 변경해 주지 않았는지를 찾아보는 것도 디버깅의 좋은 방법 중 하나이다. 연산 코드는 다음과 같다.

a, b = input().split()
print(int(a)+int(b)) #덧셉
print(int(a)-int(b)) #뺄셈
print(int(a)*int(b)) #곱셈
print(int(a)//int(b)) #몫
print(int(a)%int(b)) #나머지
print(float(a)/int(b)) #나눗셈

 

여기서 나눗셈의 결과가 어디서 멈추지 않고 소수점 16자리까지 출력되는 것을 볼 수 있다. 이 길이를 줄이고 싶다면 다음과 같은 방법을 사용해주면 된다.

 

*소수점 n자리까지 출력

 - round()

 소수점 n자리까지 출력할 수 있는 함수이지만 소수점 이하에 불필요한 0은 하나만 출력하고 출력하지 않는다.

- fomat()

 소수점 n자리까지 출력할 수 있는 함수로 소수점 이하 불필요한 0도 출력한다.

 

예시 코드는 다음과 같다.

a, b = input().split()
s = float(a)/int(b)
print(round(s, 2))
print(format(s, ".2f"))

 

거듭제곱 연산

조금 더? 보여주고 싶은게 있어서 거듭제곱 연산은 조금 뒤로 미루어 봤다. 거듭제곱은 곱하기 기호 2개를 사용해서 연산할 수 있다. 추가적으로 선언하면서 변수의 타입도 정해버리는 방법이 있어서 같이 알려주려고 한다. 우선 거듭제곱 코드는 다음과 같다.

a = int(input())
b = int(input())
s = a**b
print(s)

거듭제곱은 위와 같이 **기호를 사용해 연산해 주면되고, 변수를 선언하면서 앞에 변수 타입을 같이 넣어주면 변수를 정수 실수 또는 문자 등의 타입으로 변형하여 선언할 수 있다.

 

기초 1편은 여기까지~

'코딩 초급' 카테고리의 다른 글

문자열 문제에 유용한 도구  (0) 2021.11.28
[C/C++] 기초 2  (0) 2021.10.10
[C/C++] 기초 1  (0) 2021.10.10
[Python] 기초 2  (0) 2021.10.10
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함