코딩의 기록

따라하며 배우는 파이썬과 데이터 과학 - 2. 값을 담아 다루어 보자

모루우 2024. 11. 25. 12:47
728x90
반응형

1. 데이터를 저장하는 공간 : 변수

변수: 컴퓨터의 메모리 공간에 이름을 붙이는 것

= : 할당연산자 or 대입연산자

 

2. 변수의 내용은 언제든 바꿀 수 있다

x, y = 100, 200

동시할당문

 

3. 변수의 이름은 어떻게 짓나

식별자: 변수와 변수들을 구별

 

4. 변수에는 문자열도 저장할 수 있다

" ", ' ' 사용 가능

데이터는 메인 메모리에 저장함

메모리에 데이터를 저장한 곳의 위치를 메모리 주소라고 함

 

bmi 신체 질량 지수 구하기

w = 0
h = 0.0
bmi = 0.0

w = int(input("몸무게를 입력하세요 "))

h = int(input("키를 입력하세요 ")) * 0.01

bmi = w / h**2

print("bmi: " , bmi)

 

5. 변수를 사용해서 좋은 점이 무엇일까

가독성이 높아짐

r = 0
c = 0
e = 0
PI = 3.14

r = int(input("반지름을 입력하세요"))

c = r * 2 * PI

e = r ** 2 * PI

print("둘레: " , c, "넓이: ", c)

 

import turtle

t = turtle.Turtle()

t.shape('turtle')

def circle(t):
    t.circle(50)
    t.circle(25)
    t.circle(12.5)

circle(t)

t.left(90)

circle(t)

 

principal = 100000000
years = 5
interesting_rate = 0.03
money = principal * (1 + interesting_rate) ** years

print("원금: ", principal)
print("이율: ", interesting_rate)
print("기간: ", years)
print("수령금액: ", money)

 

6. 자료형을 알아야 연산을 할 수 있다

자료형: 데이터의 종류

정수(integer), 실수(floating-point), 문자열(string), 불(bool)

리스트, 튜플, 딕셔너리, 집합

 

정적 형결정(static typing): 자료형이 번역할 때 고정되어 버리는 것

동적 형결정(dynamic typing): 프로그램이 시작한 이후 변수에 값을 넣을 때 정해지는 것 (파이썬)

>> 자료형에 허용되지 않는 연산을 할 경우 자료형 오류가 동작 중에 발생할 수도 있음

 

7. 변수의 자료형을 알려면 : type() 함수

 

8. 왜  자료형에 신경써야 할까: 자료형과 연산

+ 연산자가 정수와 문자열이 달라서

 

9. 컴퓨터 수치 표현의 한계, 컴퓨터의 한계

컴퓨터의 저장공간은 유한하므로 근사치를 표현함

(-1)^s * M * 2^e 로 표현 (s: 부호비트, m: 유효숫자, e: 지수)

 

고정소수점 방식과 부동소수점 방식이 있는데 고정소수점 방식은 소수를 정확하게 표현할 수 있으나 그 수가 상대적으로 제한적이고 부동소수점은 근사치를 제공해 줄 수 밖에 없으나 그 수가 상대적으로 제한이 없음.

(IEEE754 부동소수점 방식을 씀)

 

즉 소수 부분은 1/2^n으로 표현되게 되는데 여기서 0.1은 아무리 더해도 근사치만 나올 뿐 0.1이 될 수 없기 때문

 

https://velog.io/@viriditass/0.1-0.2-0.3%EC%9D%B4-True%EA%B0%80-%EC%95%84%EB%8B%8C-%EC%9D%B4%EC%9C%A0

 

0.1 + 0.2 == 0.3이 True가 아닌 이유

float 타입의 변수 a와 b에 각각 0.1과 0.2를 넣고 더하면 무슨 값이 나올까?당연히 0.3이라고 대부분 대답을 할 것이다.하지만, 0.1 + 0.2인데도 불구하고 0.3이 나오는 것이 아니라 0.30000000000000004가 나

velog.io

 

10. 문자들의 연속된 모음을 문자열이라고 한다

문자열: 문자열의 나열

 

11. 문자열을 만드는 방법

큰따옴표, 작은따옴표로 감싸면 됨

EOL: 줄의 끝을 만났다 (End Of Line)

 

12. 왜 큰따옴표와 작은따옴표를 동시에 사용할까

문자열 안에 따옴표가 들어가는 경우를 처리하기 위해서

 

13. 왜 오류가 발생할까: 자료형의 변환

str(), int(), float()

 

14. 사용자로부터 문자열 입력받기: input() 함수

 

15. 사용자로부터 정수 입력받기

int(input(""))

 

starium , winner, loser, mvp, score = '', '', '','',''

starium = input("경기장은 어디입니까?")
winner = input("이긴 팀은 어디입니까?")
loser = input("진 팀은 어디입니까?")
mvp = input("우수선수는 누구입니까?")
score = input("스코어는 몇 대 몇입니까?")

print("======================================================")
print("오늘", starium,"에서 야구 경기가 열렸습니다.\n", winner, "과(와)", loser, "은(는) 치열한 공방전을 펼쳤습니다.\n", mvp,"의 맹활약으로", winner, "가(이)", loser, "를", score, "로 이겼습니다.")
print("======================================================")


 

street = "서울시 종로구"
st = "아파트"
number_of_rooms = 3
price = 100000000

print("#####################################")
print("#                                   #")
print("# 부동산 매물 광고                     #")
print("#                                   #")
print("#####################################")

print(street, "에 위치한 아주 좋은", st, "가 매물로 나왔습니다. 이", st,"는", number_of_rooms,"개의 방을 가지고 있으며 가격은", price, "입니다")

 

* 구분자 없애는 법 ( print(a, b) 형식에서 공백 없애는 법)

https://m.blog.naver.com/youndok/222066996597

 

파이썬 print() 함수 - 줄바꿈없이, 공백없이, 특수문자, 파일 출력 예

지금까지 매회 포스팅에서 출력 함수인 print()를 사용하여 왔습니다만, 기본적인 기능으로 사용하여 왔습...

blog.naver.com

 

해결: print(a, b, sep=") 구분자를 null로 해줌

728x90
반응형