생능출판사 (가칭)"데이터과학 파이썬" 코드 2장

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

In [1]:
weight = 78.2
In [2]:
weight
Out[2]:
78.2
In [3]:
weight = 16.2
print(weight)
16.2

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

In [4]:
weight = 78.2
weight = 76.9
weight
Out[4]:
76.9
In [5]:
x = 100
y = 200
x, y
Out[5]:
(100, 200)
In [6]:
x, y = 100, 200
result = x + y
result
Out[6]:
300

2.4 변수에 문자열도 저장할 수 있어요!

In [7]:
s1 = '¾È³çÇϼ¼¿ä!!!'
s1
Out[7]:
'¾È³çÇϼ¼¿ä!!!'
In [8]:
s1 = 'Hello World!'
len(s1)
Out[8]:
12
In [9]:
s1 = "Hello"
s2 = "World!"
s1 + s2
Out[9]:
'HelloWorld!'
In [10]:
n1 = 100
n2 = 200
n1 + n2
Out[10]:
300

LAB 2-1 BMI 계산하기

In [11]:
height = 1.80
weight = 78.2
bmi = weight / height**2
bmi
Out[11]:
24.1358024691358

2.5 왜 변수를 사용하는가?

In [12]:
height = 1.80
weight = 72.8
bmi = weight / height**2
bmi
Out[12]:
22.469135802469133

LAB 2-2 피자의 면적을 계산해보자.

In [13]:
radius = 80
area = 3.14 * radius**2
print('ÇÇÀÚ ¸éÀûÀº', area)
ÇÇÀÚ ¸éÀûÀº 20096.0

LAB 2-3 터틀 그래픽으로 피자그리기

In [14]:
import turtle

t = turtle.Turtle()
t.shape('turtle')

radius = 100
t.circle(radius)      # ¹ÝÁö¸§ÀÌ 100ÀÎ ¿øÀÌ ±×·ÁÁø´Ù. 

radius = 200
t.circle(radius)      # ¹ÝÁö¸§ÀÌ 200ÀÎ ¿øÀÌ ±×·ÁÁø´Ù.

turtle.done()
try:
    turtle.bye()
except:
    print("bye") 
bye

LAB 2-4 복리 이자 계산하기

In [15]:
principal = 10000000 
years = 5 
interest_rate = 0.03 
money = principal * (1.0 + interest_rate) ** years 

print('¿ø±Ý: ', principal)
print('ÀÌÀ²: ', interest_rate)
print('±â°£: ', years)
print('¼ö·É±Ý¾×: ', money)
¿ø±Ý:  10000000
ÀÌÀ²:  0.03
±â°£:  5
¼ö·É±Ý¾×:  11592740.743

2.6 자료형

In [16]:
x = 10
x
Out[16]:
10
In [17]:
x = 3.14
x 
Out[17]:
3.14

2.7 변수의 자료형을 알려면?

In [18]:
weight = 78.2
type(weight)
Out[18]:
float
In [19]:
salary = 250
type(salary)
Out[19]:
int
In [20]:
name = "È«±æµ¿"
address = "¼­¿ï½Ã Á¾·Î±¸ 1¹øÁö"
type(name)
Out[20]:
str
In [21]:
name = "È«±æµ¿"
address = "¼­¿ï½Ã Á¾·Î±¸ 1¹øÁö"
type(address)
Out[21]:
str
In [22]:
b = True
type(b)
Out[22]:
bool

2.8 자료형에 신경써야 할까?

In [23]:
x = 10
y = 10
x + y
Out[23]:
20
In [24]:
x = 'good'
y = 'morning!'
x + y
Out[24]:
'goodmorning!'
In [25]:
'23' + '56'
Out[25]:
'2356'
In [26]:
23 + 56
Out[26]:
79

2.9 컴퓨터 수치 표현의 한계

In [27]:
0.1 + 0.1 == 0.2
Out[27]:
True
In [28]:
0.1 + 0.1 + 0.1 == 0.3          #¼öÄ¡¿À·ù·Î ÀÎÇØ ¿ì¸®°¡ »ý°¢ÇÑ True°¡ ³ª¿ÀÁö ¾ÊÀ½
Out[28]:
False
In [29]:
0.1 + 0.1 + 0.1                 #0.3ÀÌ ¾Æ´Ñ ¹Ì¼¼ÇÑ ¼öÄ¡¿À·ù¸¦ °¡Áø ±Ù»ç°ª
Out[29]:
0.30000000000000004
In [30]:
10 ** 100                       #10ÀÇ 100½Â
Out[30]:
10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

2.11 문자열을 만드는 방법

In [31]:
"Hello"
Out[31]:
'Hello'
In [32]:
msg = "Hello"   # º¯¼ö¸¦ ÀÌ¿ëÇؼ­ ¹®ÀÚ¿­À» ÀúÀåÇÑ´Ù
msg             # ¹®ÀÚ¿­À» Ãâ·ÂÇÏ¸é ±âº»ÀûÀ¸·Î ÀÛÀº µû¿ÈÇ¥³»¿¡ ¹®ÀÚ°¡ ³ªÅ¸³²
Out[32]:
'Hello'
In [33]:
msg = "Hello"   # º¯¼ö¸¦ ÀÌ¿ëÇؼ­ ¹®ÀÚ¿­À» ÀúÀåÇÑ´Ù 
print(msg) # print()·Î ¹®ÀÚ¿­À» Ãâ·ÂÇÏ¸é µû¿ÈÇ¥´Â ³ªÅ¸³ªÁö ¾ÊÀ½
Hello
In [34]:
msg = "Hello'
  File "<ipython-input-34-0b4ced172a88>", line 1
    msg = "Hello'
                 ^
SyntaxError: EOL while scanning string literal
In [35]:
msg = "Hello
  File "<ipython-input-35-f35b3e510a22>", line 1
    msg = "Hello
                ^
SyntaxError: EOL while scanning string literal

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

In [ ]:
msg = "Hello"
In [ ]:
message="ö¼ö°¡ "¾È³ç"À̶ó°í ¸»Çß½À´Ï´Ù."
In [ ]:
message = 'ö¼ö°¡ "¾È³ç"À̶ó°í ¸»Çß½À´Ï´Ù.'
message
In [ ]:
message = 'ö¼ö°¡ "¾È³ç"À̶ó°í ¸»Çß½À´Ï´Ù.'
print(message)
In [ ]:
print('ö¼ö°¡ \'¾È³ç\'À̶ó°í ¸»Çß½À´Ï´Ù.')
In [ ]:
print('¾È³ç\n¿ì¸® ´Ù½Ã ¸¸³ª~~')
In [ ]:
print('¾È³ç\t¿ì¸® ´Ù½Ã ¸¸³ª~~')

2.13 왜 오류가 발생할까? - 자료형의 변환

In [ ]:
'100' + '¿ø'
In [ ]:
str(100) + '¿ø'   # str() ÇÔ¼ö´Â 100À» ¹®ÀÚ¿­ '100'À¸·Î º¯È¯½ÃÅ´
In [ ]:
str(100)
In [ ]:
int("100")
In [ ]:
str(3.14)
In [ ]:
float("3.14")

2.14 사용자로부터 문자열 입력받기

In [36]:
name = input("À̸§À» ÀÔ·ÂÇϽÿÀ: ")
À̸§À» ÀÔ·ÂÇϽÿÀ: È«±æµ¿
In [37]:
name = input("À̸§À» ÀÔ·ÂÇϽÿÀ: ") 
print(name, "¾¾, ¾È³çÇϼ¼¿ä?") 
print("ÆÄÀ̽ã ÇÁ·Î±×·¡¹ÖÀÇ ¼¼°è¿¡ ¿À½Å °ÍÀ» ȯ¿µÇÕ´Ï´Ù.")
À̸§À» ÀÔ·ÂÇϽÿÀ: È«±æµ¿
È«±æµ¿ ¾¾, ¾È³çÇϼ¼¿ä?
ÆÄÀ̽ã ÇÁ·Î±×·¡¹ÖÀÇ ¼¼°è¿¡ ¿À½Å °ÍÀ» ȯ¿µÇÕ´Ï´Ù.

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

In [38]:
x = int(input("ù ¹ø° Á¤¼ö¸¦ ÀÔ·ÂÇϽÿÀ: ")) 
y = int(input("µÎ ¹ø° Á¤¼ö¸¦ ÀÔ·ÂÇϽÿÀ: ")) 
s = x + y 
print(x, "°ú", y, "ÀÇ ÇÕÀº", s, "ÀÔ´Ï´Ù.")
ù ¹ø° Á¤¼ö¸¦ ÀÔ·ÂÇϽÿÀ: 10
µÎ ¹ø° Á¤¼ö¸¦ ÀÔ·ÂÇϽÿÀ: 20
10 °ú 20 ÀÇ ÇÕÀº 30 ÀÔ´Ï´Ù.

LAB 2-5 로봇 기자 만들기

In [39]:
# »ç¿ëÀÚÀÇ ´ë´äÀ» º¯¼ö¿¡ ÀúÀåÇÑ´Ù. 
stadium = input("°æ±âÀåÀº ¾îµðÀԴϱî? ") 
winner = input("À̱ä ÆÀÀº ¾îµðÀԴϱî? ") 
loser = input("Áø ÆÀÀº ¾îµðÀԴϱî? ") 
vip = input("¿ì¼ö¼±¼ö´Â ´©±¸ÀԴϱî? ") 
score = input("½ºÄÚ¾î´Â ¸î´ë¸îÀԴϱî? ") 

# »ç¿ëÀÚÀÇ ÀÔ·ÂÀ» ¹ÙÅÁÀ¸·Î ±â»ç¸¦ ÀÛ¼ºÇÑ´Ù.
print("") 
print("===========================================") 
print("¿À´Ã", stadium, "¿¡¼­ ¾ß±¸ °æ±â°¡ ¿­·È½À´Ï´Ù.") 
print(winner, "°ú", loser, "Àº Ä¡¿­ÇÑ °ø¹æÀüÀ» ÆîÃƽÀ´Ï´Ù.") 
print(vip, "ÀÇ ¸ÍÈ°¾àÀ¸·Î ", winner,"°¡", loser,"¸¦ ", score,"·Î ÀÌ°å½À´Ï´Ù.") 
print("===========================================")
°æ±âÀåÀº ¾îµðÀԴϱî? »ó¾Ï
À̱ä ÆÀÀº ¾îµðÀԴϱî? »ï¼º
Áø ÆÀÀº ¾îµðÀԴϱî? LG
¿ì¼ö¼±¼ö´Â ´©±¸ÀԴϱî? È«±æµ¿
½ºÄÚ¾î´Â ¸î´ë¸îÀԴϱî? 8:7

===========================================
¿À´Ã »ó¾Ï ¿¡¼­ ¾ß±¸ °æ±â°¡ ¿­·È½À´Ï´Ù.
»ï¼º °ú LG Àº Ä¡¿­ÇÑ °ø¹æÀüÀ» ÆîÃƽÀ´Ï´Ù.
È«±æµ¿ ÀÇ ¸ÍÈ°¾àÀ¸·Î  »ï¼º °¡ LG ¸¦  8:7 ·Î ÀÌ°å½À´Ï´Ù.
===========================================

LAB 2-6 부동산 광고 만들기

In [40]:
street = "¼­¿ï½Ã ¼ººÏ±¸" 
type = "¿ÀÇǽºÅÚ" 
number_of_rooms = 1 
price = 70000000
 
print("###############################") 
print("#                             #") 
print("# ºÎµ¿»ê ¸Å¹° ±¤°í                #") 
print("#                             #") 
print("###############################") 
print("") 
print(street, "¿¡ À§Ä¡ÇÑ ¾ÆÁÖ ÁÁÀº ", type, "°¡ ¸Å¹°·Î ³ª¿Ô½À´Ï´Ù. ÀÌ ", 
type, "´Â ", number_of_rooms, "°³ÀÇ ¹æÀ» °¡Áö°í ÀÖÀ¸¸ç °¡°ÝÀº", 
price, "ÀÔ´Ï´Ù.") 
###############################
#                             #
# ºÎµ¿»ê ¸Å¹° ±¤°í                #
#                             #
###############################

¼­¿ï½Ã ¼ººÏ±¸ ¿¡ À§Ä¡ÇÑ ¾ÆÁÖ ÁÁÀº  ¿ÀÇǽºÅÚ °¡ ¸Å¹°·Î ³ª¿Ô½À´Ï´Ù. ÀÌ  ¿ÀÇǽºÅÚ ´Â  1 °³ÀÇ ¹æÀ» °¡Áö°í ÀÖÀ¸¸ç °¡°ÝÀº 70000000 ÀÔ´Ï´Ù.
In [ ]: