관리 메뉴

bright jazz music

220319 파이썬 과제(연산자 사용, int(), float()사용 ) 본문

Language/python

220319 파이썬 과제(연산자 사용, int(), float()사용 )

bright jazz music 2022. 3. 20. 00:49
#(1) 숫자 입력 처리 함
#정수 입력 --> 정수 처리
#실수 또는 정수 입력 --> 실수 처리

#함수선언부


def get_integer(prompt):
   return int(input(prompt))


def get_real(prompt):
    return float(input(prompt))



#주프로그램부

i = get_integer('정수는? ')
r = get_real('실수는? ')

print('당신이 입력한 정수값은', i)
print('당신이 입력한 실수값은', r)

 

#(2) 온도변환
# 사용자로부터 화씨 온도 값을 입력받아 섭씨 온도로 변환하여
#출력하는 프로그램 작성
#섭씨온도 = c, 화씨온도 = f
#c = 5/9*(f-32)


#함수 선언부

def fahrenToCelsius(inputFahDegree):
    realFahDegree = float(inputFahDegree)   #화씨온도를 실수로 변경
    realCelDegree = 5 / 9 * (realFahDegree - 32)#섭씨로 변경
    
    return realCelDegree                #반환


#주프로그램부
    #입력받기
inputFahDegree = input('변환하고자 하는 화씨 온도는? ')
    #함수 호출하기
celDegree = (fahrenToCelsius(inputFahDegree))


print('화씨온도' , inputFahDegree,'도는 섭씨 ' , celDegree , '도')

 

 

#(3) 시각변환
#사용자로부터 초 단위의 시간을 입력받아 '시-분-초'단위로 변환
#1분은 60초, 1시간은 60분
#변환을 위해 사용자 정의 함수 convert_time()을 정의하라


#함수 선언부

def convert_time(inputSecond):
    intInputSecond = int(inputSecond)
    hour = intInputSecond // 3600
    minute = intInputSecond % 3600 // 60
    second = intInputSecond % 3600 % 60    

print(inputSecond, '초는', hour, '시간 ', minute, '분', second, '초이다.')


#주프로그램부

#초단위 시간 입력
inputSecond = input('변환하고자 하는 시간(초)? ');

convert_time(inputSecond)

 

 

#(4) 원기둥 부피 계산

#사용자로부터 원기둥 밑면의 반지름(r)과 높이(h)를 입력받아 원기둥의 부피(V)를 계산하라
#원주율(PI)은 3.141592
#V = PI*r*r*h


#함수 선언부
def get_circle_area(raidus, height):
    PI = 3.141592
    volOfCylinder = PI * float(radius) **2 * float(height)

    return volOfCylinder

#주프로그램부

radius = input('원기둥 밑면 원의 반지름은? ')
height = input('원기둥의 높이는? ')
print( '원기둥의 부피는', get_circle_area(radius, height))




#주의
#TypeError: can't multiply sequence by non-int of type 'float'
#float이든 int이든 타입을 맞춰줘야 연산이 가능한 듯

#TypeError: unsupported operand type(s) for ** or pow(): 'str' and 'int'

 

#(5) 면적변환
#1평은 약 3.305785m2이다. 이를 기반으로 평을 제곱미터로 변환하는 프로그램 작성
#함수 선언부

def convert_to_squaremeter(pyeong):
    floatedPyeong = float(pyeong)
    floatedPyeong *= 3.305785 

    return floatedPyeong


#주프로그램부
pyeong = input('변환하고자 하는 평수는?')
print(pyeong, '평은', convert_to_squaremeter(pyeong),'제곱미터')





# float(pyeong) *= 3.305785  
#function call is an illegal expression for augmented assignment 주의

 

 

#(6) 동전교환
#사용자로부터 입력된 금액을 동전으로 교환하는 프로그램 작성
# 가장 적은 개수의 동전으로 교환
# 교환 금액은 최소 100원 단위라 가정
# 교환 시 500원, 100원 동전만 사용한다 가정
# 교환 후 잔돈은 발생하지 않는다 가정



#함수 선언부
def convert_to_coins(totalCost):
    intTotalCost = int(totalCost)
    noOf500Won = intTotalCost // 500
    noOf100Won = intTotalCost % 500 // 100

    print('500원짜리', noOf500Won, '개')
    print('100원짜리', noOf100Won, '개')
    

#주프로그램부

totalCost = input('동전으로 교환하고자 하는 금액은? ')
convert_to_coins(totalCost)





#noOf100Won = intTotalCost % 500
#위와 같이 하면 금액이 100원보다 작은 경우, 예를 들어 400원을 넣으면
#100원짜리를 400개 거슬러 줘야 하는 오류 발생

 

'Language > python' 카테고리의 다른 글

문자열  (0) 2022.04.04
220326 전역변수와 지역변수 & 모듈 구성 및 사용(주사위)  (0) 2022.03.26
220319 파이썬 연산자  (0) 2022.03.19
파이썬 프로그래밍 220312  (0) 2022.03.12
파이썬 프로그래밍 220301  (0) 2022.03.01
Comments