코딩도장 5~7 정리

Temmie Chang (포인세티아)·2021년 12월 31일
0

5. 숫자 계산하기

파이썬에서 숫자는 정수, 실수(부동소수점), 복소수로
분리되며, 각각 int, float, complex로 구분되고,
각각 다른 타입(type)을 가진다.

+(덧셈), -(뺄셈), *(곱셈), /(나눗셈)
사칙연산을 전부 지원한다.
* = asterisk라고 읽음.

일반적으로 컴퓨터는 사람과 달리 융통성이 없어서
5/2 = 2.5와 같은 수식은 type이 int -> float으로
바뀌므로 오류가 생겨야하지만, 항상 실수가 나오도록
정해버서 나름 괜찮아졌다고 한다.

%는 모듈로(modulo)연산자로 나눗셈에서 나머지를 구한다.
몫은 버림 나눗셈(//)을 사용한다.
또한 divmod 함수는 몫과 나머지를 한번에 구해준다

divmod(분자, 분모) = (, 나머지)     #튜플임

** 은 지수를 나타내며, 2**5 = 2^5이다.

특정 값을 각각 다른 type으로 바꾸기 위해선

float('10')             # 문자열 10을 실수로 변환
int(3.3)                # 실수 3.3을 3으로 변환(소수점 버림)
str(2)                  # 숫자 2를 문자 '2'로 변환

등의 방식으로 값을 변환 가능하다.

모든 object는 각자의 자료형(type)을 가지는데
자료형을 확인하기 위해서는 type() 함수를 사용하면 된다.

type('바보')                    #'바보'의 자료형은 뭐니
output: str                    # str(문자열)

대충 익숙해지면 무슨 형태인지 확인 안해도 알거나 외우게 됨

실수끼리 계산도 가능하지만, 수식으로 정확한 값이 아니라
오차가 발생한다. 이는 비트로 부동소수점을 표현하다보면
생기는 오류로, 조정은 다른 함수를 사용해 해결한다.

숫자끼리 덧셈과 곱셈은 수학에서와 마찬가지로
곱셈먼저 이후 덧셈으로 계산한다. (두뇌 풀가동)
이외에도 파이썬 연산자들에는 우선 순위들이 있고
외울 자신 없으니
https://dojang.io/mod/page/view.php?id=2461
이것을 남긴다. 필요할때 찾아보자


6. 변수와 입력 사용하기

프로그래밍은 일반적으로 다양한 함수를 사용하고,
특정 연산을 수행한 값들을 저장할 일이 많기 때문에
변수(variable)를 할당해서 활용한다.

특정변수(영문자, 숫자 등) =(값을 할당하는 연산자) 값
'=' 이 우리가 생각하는 수식에서의 등호(=)가 아님에 유의
등호는 ==연산자로 표현한다.

 x = 2         # x라는 변수에 2라는 정수를 할당함
 x = 3         # 2가 저장되있던 x에 새로 3을 덮어씀
 x, y = 2, 3   # 2개 이상의 다변수 할당도 가능 (,) 활용
 del x         # del 명령어를 사용해 변수 삭제 가능
 x = None      # x에 아무것도 없는 상태인 Null을 만들 수 있음

변수 또한 사칙연산등의 연산자를 활용 가능하다.

z = x + y           # z변수에 x+y 값을 할당
x = x + 10          # x변수에 x에 10을 더한 값을 새로 할당
x += 10             # 위 식을 줄여쓸 수 있음

지금까지는 계산기처럼 변수를 내 자신이 직접 입력했지만,
나 (= 프로그램 제작자 혹은 코드 짠 사람)
대부분은 외부에서부터 들어온 값을 처리하는 과정이 많다.

누군가로부터 데이터 값을 받기 위해서는
input() 명령어를 사용한다.

x = input("숫자를 입력하세요:")    
  #저장된 파이썬 .py 파일을 실행하면 input 괄호안의 문장이 출력
  # 입력받은 데이터는 x변수에 할당 됨
x = int(input())     
  # 입력값은 기본적으로 문자열이므로 정수로 바꿔야 할때가 있다. 

기본적으로 input값은 하나의 변수를 받아오게 되있지만,
받아오는 값(객체)에 사용하는 .split 명령어(메소드라고 함)
여러 개의 값을 받아올 수 있다.

.split()     # 문자열 값 뒤에 붙어서 공백을 기준으로 
             # 나눠서 여러 개로 만들어주는 명령어(메소드)
.split(*)    # 특정 값(*)을 기준으로 자를 수도 있음

여기서 받은 여러 개의 값은 []리스트로 나오는데,
나온 리스트에 map()명령어를 사용해서
각 값의 형태를 바꿔줄 수 있다.

x, y = map(int, input().split())
# input 값으로 받은 2의 값을 공백을 기준으로 
# 리스트로 나눈 뒤 각각 정수로 만들어서 x, y에 할당
# 입력받은 값이 2개 이상이면 리스트 구조상 오류가 난다.

왜 이런 복잡한 개념을 이해도 안되는 초반에 넣어둔겨
나중에 메서드나 리스트를 알아야 이해가 될꺼아냐
암튼 여기서 이해 안되어도 그냥 넘어가도 될듯


7. 출력 방법 알아보기

print() 함수는 괄호안에 변수나 각종 객체를 출력하는 함수로

print(a, b, c)         #콤마를 통해 여러 변수 인쇄 가능
print(a, b, sep=", ")  #sep를 통해 각 값 사이에 (, )을 넣음
print(a, b, sep="\n")  #\n을 통해 각 값 줄바꿈 가능
print(a, b, end="")    #end를 통해 인쇄 후 자동 줄바꿈 취소

등의 방법을 통해 출력값을 바꿀 수 있다.

0개의 댓글

관련 채용 정보