Skip to content

Latest commit

Β 

History

History
337 lines (231 loc) Β· 9.25 KB

File metadata and controls

337 lines (231 loc) Β· 9.25 KB

4일차 μ‹€μŠ΅μ˜ˆμ œ 및 μ˜ˆμ‹œλ‹΅μ•ˆ

1. "ν™˜μ˜ν•©λ‹ˆλ‹€."λ₯Ό 좜λ ₯ν•˜λŠ” greet()μ΄λΌλŠ” μ΄λ¦„μ˜ ν•¨μˆ˜λ₯Ό μ •μ˜ν•˜κ³  이 ν•¨μˆ˜λ₯Ό λ‘λ²ˆ ν˜ΈμΆœν•˜μ—¬ 이 인사말을 λ‘λ²ˆ 좜λ ₯ν•˜κ³ μž ν•œλ‹€. 밑쀄 친 뢀뢄에 λ“€μ–΄κ°ˆ μ•Œλ§žμ€ μ½”λ“œλ₯Ό μ±„μš°κ³  쑴체 μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜μ‹œμ˜€.

'''

def my_greet():
_________________

my_greet()
my_greet()

-- μ‹€ν–‰κ²°κ³Ό--
ν™˜μ˜ν•©λ‹ˆλ‹€.
ν™˜μ˜ν•©λ‹ˆλ‹€.

'''

#-----<μ˜ˆμ‹œ λ‹΅μ•ˆ>------  

def my_greet():  
	print("ν™˜μ˜ν•©λ‹ˆλ‹€.")  
    
my_greet()  
my_greet()  
  

2. nμ΄λΌλŠ” μ΄λ¦„μ˜ λ§€κ°œλ³€μˆ˜λ₯Ό μž…λ ₯으둜 λ°›μ•„μ„œ 이 κ°’μ˜ 제곱 값을 λ°˜ν™˜ν•˜λŠ” square(n) ν•¨μˆ˜λ₯Ό μ •μ˜ν•˜κ³  이 ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜μ—¬ 3κ³Ό 4의 μ œκ³±μ„ 좜λ ₯ν•˜κ³ μž ν•œλ‹€. 밑쀄 친 뢀뢄에 μ•Œλ§žμ€ μ½”λ“œλ₯Ό μ±„μš°κ³  전체 μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜μ‹œμ˜€.

'''

def square(n):
return ______

print('3의 μ œκ³±μ€ : ',)
print('4의 μ œκ³±μ€ : ',
)

-- μ‹€ν–‰κ²°κ³Ό--
3의 μ œκ³±μ€ : 9
4의 μ œκ³±μ€ : 16

'''

#-----<μ˜ˆμ‹œ λ‹΅μ•ˆ>------

def square(n):
   return n**2

print('3의 μ œκ³±μ€ : ',square(3))
print('4의 μ œκ³±μ€ : ',square(4))
   

3. mκ³Ό nμ΄λΌλŠ” μ΄λ¦„μ˜ λ§€κ°œλ³€μˆ˜λ₯Ό 두 개 μž…λ ₯λ°›μ•„μ„œ 이 두 κ°’ μ€‘μ—μ„œ 큰 값을 λ°˜ν™˜ν•˜λŠ” max2(m,n) ν•¨μˆ˜μ™€ μž‘μ€ 값을 λ°˜ν™˜ν•˜λŠ” min2(m,m) ν•¨μˆ˜λ₯Ό κ΅¬ν˜„ν•˜μ‹œμ˜€. 100κ³Ό 200을 인자둜 λ„£μ–΄μ„œ ν˜ΈμΆœν•˜μ—¬ κ·Έ κ²°κ³Όλ₯Ό ν™•μΈν•˜μ‹œμ˜€. 이λ₯Ό μœ„ν•˜μ—¬ 밑쀄 친 뢀뢄에 λ“€μ–΄κ°ˆ μ•Œλ§žμ€ μ½”λ“œλ₯Ό μ±„μš°κ³  전체 μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜μ‹œμ˜€.

'''

def max2(m,n):
if _____:
return ____
else :
return ____

def min2(m,n):
if _____:
return ____
else :
return ____

print('100κ³Ό 200쀑 큰 μˆ˜λŠ”: ', ______)
print('100κ³Ό 200쀑 μž‘μ€ μˆ˜λŠ”: ', ______)

-- μ‹€ν–‰κ²°κ³Ό--
100κ³Ό 200쀑 큰 μˆ˜λŠ”: 200 100κ³Ό 200쀑 μž‘μ€ μˆ˜λŠ”: 100

'''

#-----<μ˜ˆμ‹œ λ‹΅μ•ˆ>------

def max2(m,n):
    if m>n:
        return m
    else :
        return n

def min2(m,n):
    if m>n:
        return n
    else :
        return m

print('100κ³Ό 200쀑 큰 μˆ˜λŠ”: ', max2(100,200))
print('100κ³Ό 200쀑 μž‘μ€ μˆ˜λŠ”: ', min2(100,200))

4. λ―Έκ΅­μ—μ„œ 주둜 μ‚¬μš©λ˜λŠ” λ‹¨μœ„μΈ 마일 값을 ꡭ제 ν‘œμ€€ λ‹¨μœ„μΈ ν‚¬λ‘œλ―Έν„° κ°’μœΌλ‘œ λ³€κ²½ν•˜κ³ μž ν•œλ‹€. 마일 값을 λ§€κ°œλ³€μˆ˜λ‘œ λ„˜κ²¨λ°›μ•„ ν‚¬λ‘œλ―Έν„°λ‘œ λ°˜ν™˜ν•˜λŠ” mile2km(m) ν•¨μˆ˜λ₯Ό κ΅¬ν˜„ν•˜κ³  이 ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜μ—¬ 1μ—μ„œ 5λ§ˆμΌμ„ ν‚€λ‘œλ―Έν„°λ‘œ 좜λ ₯ν•˜μ‹œμ˜€. 이떄 for -in range()λ₯Ό μ‚¬μš©ν•˜μ—¬ 반볡 좜λ ₯이 λ˜λ„λ‘ ν•˜μ‹œμ˜€.

(단 1λ§ˆμΌμ€ 1.61 ν‚¬λ‘œλ―Έν„°λ‘œ μ •μ˜ν•˜μ‹œμ˜€.)

'''

-- μ‹€ν–‰κ²°κ³Ό--
1마일 = 1.61 ν‚¬λ‘œλ―Έν„°
2마일 = 3.22 ν‚¬λ‘œλ―Έν„°
3마일 = 4.83 ν‚¬λ‘œλ―Έν„°
4마일 = 6.44 ν‚¬λ‘œλ―Έν„°
5마일 = 8.05 ν‚¬λ‘œλ―Έν„°

'''

#-----<μ˜ˆμ‹œ λ‹΅μ•ˆ>------

def mile2km(m):
  return m*1.61

for i in range(1,6,1):
  print("%d 마일 = %1.2f ν‚¬λ‘œλ―Έν„°" %(i,mile2km(i)))
  

5. 인치(inch) 값을 λ§€κ°œλ³€μˆ˜λ‘œ λ„˜κ²¨λ°›μ•„μ„œ 이λ₯Ό μ„Όν‹°λ―Έν„° κ°’μœΌλ‘œ λ³€ν™˜ν•˜λŠ” inch2cm(inch) ν•¨μˆ˜λ₯Ό κ΅¬ν˜„ν•˜κ³  이 ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜μ—¬ 1μ—μ„œ 5인치λ₯Ό μ„ΌμΉ˜λ―Έν„°λ‘œ 좜λ ₯ν•˜μ‹œμ˜€.

(단 1μΈμΉ˜λŠ” 2.54 μ„Όν‹°λ―Έν„°λ‘œ μ •μ˜ν•˜μ‹œμ˜€.)

'''

-- μ‹€ν–‰κ²°κ³Ό--
1 인치 = 2.54 μ„Όν‹°λ―Έν„°
2 인치 = 5.08 μ„ΌμΉ˜λ―Έν„°
3 인치 = 7.62 μ„Όν‹°λ―Έν„°
4 인치 = 10.16 μ„ΌμΉ˜λ―Έν„°
5 인치 = 12.7 μ„ΌμΉ˜λ―Έν„°

'''

#-----<μ˜ˆμ‹œ λ‹΅μ•ˆ>------

def inch2cm(inch):
  return inch*1.61

for i in range(1,6,1):
  print("%d 인치 = %1.2f μ„ΌμΉ˜λ―Έν„°" %(i,inch2cm(i)))

6. μ„­μ”¨μ˜¨λ„(celsius)λ₯Ό λ§€κ°œλ³€μˆ˜λ‘œ λ…κ²¨λ°›μ•„μ„œ 이λ₯Ό ν™”μ”¨μ˜¨λ„(fahrenheit)둜 λ°˜ν™˜ν•˜λŠ” cel2fah(cel) ν•¨μˆ˜λ₯Ό κ΅¬ν˜„ν•˜μ‹œμ˜€. 그리고 이 ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜μ—¬ 섭씨 10λ„μ—μ„œ 50λ„κΉŒμ§€ 10도 λ‹¨μœ„λ‘œ λ³€ν™”μ‹œμΌœμ„œ λ‹€μŒκ³Ό 같이 ν™”μ”¨μ˜¨λ„λ₯Ό 좜λ ₯ν•˜μ‹œμ˜€.

(힌트: fahrenheit = (9/5) * celsius +32 )

'''

-- μ‹€ν–‰κ²°κ³Ό--
섭씨 10도 = 화씨 50.0
섭씨 20도 = 화씨 68.0
섭씨 30도 = 화씨 86.0
섭씨 40도 = 화씨 104.0
섭씨 50도 = 화씨 122.0

'''

#-----<μ˜ˆμ‹œ λ‹΅μ•ˆ>------

def cel2fah(cel):
  return cel*(9/5) + 32

for i in range(10,60,10):
  print("섭씨 %d도 = 화씨 %1.1f" %(i,cel2fah(i)))

7. λ‹€μŒκ³Ό 같이 μ‚¬μš©μžλ‘œλΆ€ν„° 두 점의 μ’Œν‘œ (x1,y1),(x2,y2)λ₯Ό μž…λ ₯λ°›μ•„ 두 점 μ‚¬μ΄μ˜ 거리λ₯Ό 좜λ ₯ν•˜μ‹œμ˜€. 이λ₯Ό μœ„ν•˜μ—¬ distance(x1,y1,x2,y2) ν•¨μˆ˜λ₯Ό κ΅¬ν˜„ν•˜μ‹œμ˜€. μ½”λ“œλŠ” μ•„λž˜μ™€ 같이 μ‚¬μš©μžμ˜ μž…λ ₯을 λ°›λŠ” κ²ƒμœΌλ‘œ μ‹œμž‘ν•œλ‹€.

'''

x1= int(input('x1 μ’Œν‘œλ₯Ό μž…λ ₯ν•˜μ‹œμ˜€.: '))
x2= int(input('x2 μ’Œν‘œλ₯Ό μž…λ ₯ν•˜μ‹œμ˜€.: '))
y1= int(input('y1 μ’Œν‘œλ₯Ό μž…λ ₯ν•˜μ‹œμ˜€.: '))
y2= int(input('y2 μ’Œν‘œλ₯Ό μž…λ ₯ν•˜μ‹œμ˜€.: '))

두 점의 거리: 5.0  

'''



#-----<μ˜ˆμ‹œ λ‹΅μ•ˆ>------
def distance(x1,y1,x2,y2):
   return ((x1-x2)**2+(y1-y2)**2)**(1/2)

x1= int(input('x1 μ’Œν‘œλ₯Ό μž…λ ₯ν•˜μ‹œμ˜€.: '))
x2= int(input('x2 μ’Œν‘œλ₯Ό μž…λ ₯ν•˜μ‹œμ˜€.: '))
y1= int(input('y1 μ’Œν‘œλ₯Ό μž…λ ₯ν•˜μ‹œμ˜€.: '))
y2= int(input('y2 μ’Œν‘œλ₯Ό μž…λ ₯ν•˜μ‹œμ˜€.: '))

print("두 점의 거리: %1.1f"%(distance(x1,y1,x2,y2)))

8. μ§κ°μ‚Όκ°ν˜•μ˜ 빗변을 μ΄λ£¨λŠ” μ„ λΆ„μ˜ 양끝점을 λ‚˜νƒ€λ‚΄λŠ” 두 μ’Œν‘œ(x1,y1),(x2,y2)λ₯Ό μž…λ ₯λ°›μ•„ μ§κ°μ‚Όκ°ν˜•μ˜ 면적을 κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ—¬λΌ. μ΄λ•Œ 4개의 μ’Œν‘œκ°’μ„ μž…λ ₯으둜 λ°›μ•„ μ§κ°μ‚Όκ°ν˜•μ˜ 면적을 λ°˜ν™˜ν•˜λŠ” area(x1,y1,x2,y2) ν•¨μˆ˜λ₯Ό κ΅¬ν˜„ν•˜μ‹œμ˜€.

(μ°Έκ³ : μ§κ°μ‚Όκ°ν˜•μ˜ 면적은 (λ°‘λ³€*높이)/2 둜 ꡬ할 수 μžˆλ‹€. μž…λ ₯λ˜λŠ” μ’Œν‘œλŠ” x2 κ°€ x1보닀 크고, y2κ°€ y1보닀 크닀.)

'''

-- μ‹€ν–‰κ²°κ³Ό--
x1 μ’Œν‘œλ₯Ό μž…λ ₯ν•˜μ‹œμ˜€.: 0
y1 μ’Œν‘œλ₯Ό μž…λ ₯ν•˜μ‹œμ˜€.: 0
x2 μ’Œν‘œλ₯Ό μž…λ ₯ν•˜μ‹œμ˜€.: 3
y2 μ’Œν‘œλ₯Ό μž…λ ₯ν•˜μ‹œμ˜€.: 4
μ§κ°μ‚Όκ°ν˜•μ˜ 면적은 : 6.0

'''


#-----<μ˜ˆμ‹œ λ‹΅μ•ˆ>------
 
def area(x1,y1,x2,y2):
   return ((x2-x1)*(y2-y1))/2


x1= int(input('x1 μ’Œν‘œλ₯Ό μž…λ ₯ν•˜μ‹œμ˜€.: '))
y1= int(input('y1 μ’Œν‘œλ₯Ό μž…λ ₯ν•˜μ‹œμ˜€.: '))
x2= int(input('x2 μ’Œν‘œλ₯Ό μž…λ ₯ν•˜μ‹œμ˜€.: '))
y2= int(input('y2 μ’Œν‘œλ₯Ό μž…λ ₯ν•˜μ‹œμ˜€.: '))

# x1>x2 일경우 두 λ³€μˆ˜μ˜ 값을 λ°”κΎΌλ‹€.
if(x1>x2):
   tmp=x1
   x1=x2
   x2=tmp


# y1>y2 일경우 두 λ³€μˆ˜μ˜ 값을 λ°”κΎΌλ‹€.
if(y1>y2):
   tmp=y1
   y1=y2
   y2=tmp


print("μ§κ°μ‚Όκ°ν˜•μ˜ 면적은 : %d" %(area(x1,y1,x2,y2)))
   

9. μ‚Όκ°ν˜•μ˜ λ°‘λ³€(width),높이(height)λ₯Ό μž…λ ₯λ°›μ•„μ„œ μ‚Όκ°ν˜•μ˜ 면적을 κ΅¬ν•˜λŠ” cal_area(width,height)λ₯Ό μž…λ ₯λ°›μ•„μ„œ μ‚Όκ°ν˜•μ˜ 면적을 κ΅¬ν•˜λŠ” cal_area(width,height)λΌλŠ” ν•¨μˆ˜λ₯Ό μ •μ˜ν•˜μ—¬λΌ. μ‚¬μš©μžλ‘œλΆ€ν„° μ‚Όκ°ν˜•μ˜ λ°‘λ³€κ³Ό 높이λ₯Ό μž…λ ₯ 받은 ν›„, 이 ν•¨μˆ˜λ₯Ό μ΄μš©ν•˜μ—¬ λ‹€μŒκ³Ό 같은 κ²°κ³Όλ₯Ό μ–»λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ—¬λΌ.

'''

-- μ‹€ν–‰κ²°κ³Ό--
밑변을 μž…λ ₯ν•˜μ‹œμ˜€: 20
높이λ₯Ό μž…λ ₯ν•˜μ‹œμ˜€: 15
μ‚Όκ°ν˜•μ˜ 면적 : 150.0

'''


#-----<μ˜ˆμ‹œ λ‹΅μ•ˆ>------

def cal_area(width,height):
   return width * height /2

width = int(input("밑변을 μž…λ ₯ν•˜μ‹œμ˜€: "))
height =int (input ("높이λ₯Ό μž…λ ₯ν•˜μ‹œμ˜€: "))

print("μ‚Όκ°ν˜•μ˜ 면적: %1.1f" %(cal_area(width,height)) )

10. n1μ—μ„œ n2κΉŒμ§€μ˜ μ •μˆ˜ν•©μ„ κ΅¬ν•˜λŠ” ν•¨μˆ˜ sum_range(n1,n2)λ₯Ό μž‘μ„±ν•˜μ‹œμ˜€. 이 ν•¨μˆ˜λ₯Ό μ΄μš©ν•˜μ—¬ 10μ—μ„œ 20κΉŒμ§€μ˜ μ •μˆ˜μ˜ ν•©κ³Ό 40μ—μ„œ 100κΉŒμ§€μ˜ μ •μˆ˜μ˜ 합을 κ΅¬ν•˜μ—¬ λ‹€μŒκ³Ό 같은 좜λ ₯을 ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. μ΄λ•Œ λͺ¨λ“  숫자 κ°’ 좜λ ₯λ¬Έμ—λŠ” ν”Œλ ˆμ΄μŠ€ν™€λ”λ₯Ό μ‚¬μš©ν•˜μ‹œμ˜€.

'''

10μ—μ„œ 20κΉŒμ§€μ˜ μ •μˆ˜μ˜ ν•©: 165
40μ—μ„œ 100κΉŒμ§€μ˜ μ •μˆ˜μ˜ ν•©: 4270

'''

#-----<μ˜ˆμ‹œ λ‹΅μ•ˆ>------

def sum_range(n1,n2):
   res =0
   for i in range(n1,n2+1,1):
       res += i
   print("%-2dμ—μ„œ %-2dκΉŒμ§€μ˜ μ •μˆ˜μ˜ ν•©: %-10d" %(n1,n2,res))


sum_range(10,20)
sum_range(40,100)

11. μ£Όλ―Όλ“±λ‘λ²ˆν˜Έμ˜ μ•ž 6자리 생년월일은 두 자리의 년도, 두 자리의 μ›”, 두 자리의 λ‚ μ§œλ‘œ ν‘œν˜„ν•œλ‹€. 예λ₯Ό λ“€μ–΄ 921030은 1992λ…„ 10μ›” 30일을 μ˜λ―Όν•œλ‹€. μ΄λ ‡κ²Œ 주민등둝 번호 ν˜•μ‹μ˜ 생년월일이 μž…λ ₯될 λ•Œ, "1992λ…„ 10μ›” 30일"κ³Ό 같은 ν˜•νƒœλ‘œ λ‚ μ§œλ₯Ό μΆœκ²¨ν•˜λŠ” μ½”λ“œλ₯Ό μž‘μ„±ν•˜λΌ. μž…λ ₯λ˜λŠ” λ‚ μ§œμ˜ μ—°λ„λŠ” 1950λ…„ 이후뢀터 μž…λ ₯λœλ‹€.

즉, 511010은 1951λ…„ 10μ›” 10μΌμ΄μ§€λ§Œ, 491010은 2050λ…„ 10μ›” 10일둜 νŒλ‹¨ν•΄μ•Ό λœλ‹€.

'''

-- μ‹€ν–‰κ²°κ³Ό--
μ£Όλ―Όλ“±λ‘λ²ˆν˜Έ 첫 6숫자 ν˜•μ‹ μž…λ ₯: 570312
1957λ…„ 3μ›” 12일

-- μ‹€ν–‰κ²°κ³Ό--
μ£Όλ―Όλ“±λ‘λ²ˆν˜Έ 첫 6숫자 ν˜•μ‹ μž…λ ₯: 011123
2001λ…„ 11μ›” 23일

'''

#-----<μ˜ˆμ‹œ λ‹΅μ•ˆ>------
 
def date_of_birth(birth):
    month = (birth/100)%100
    day = birth%100
    if(birth/10000 <50):
        year = 2000 + birth/10000
    else:
        year = 1900 + birth/10000

    print("%d λ…„ %d μ›” %d 일"%(year,month,day))


date_of_birth(int(input("μ£Όλ―Όλ“±λ‘λ²ˆν˜Έ 첫 6숫자 ν˜•μ‹ μž…λ ₯: ")))