Ch4 파이썬 중급 문제풀이 40-48 (중급문풀1-2)

김민지·2023년 3월 13일
0

Part 01. Python

목록 보기
10/12
  1. 함수
  • 거리(km) = 속도(km/h) * 시간(h)
  • n분을 시간, 분으로 나누기
def getTime(speed, distance):
    time = distance / speed
    h = int(time)
    m = int((time - h) * 100 * 60 / 100)
    return [h, m]

s = float(input('속도(km/h) 입력: '))
d = float(input('거리(km) 입력: '))
t = getTime(s, d)

print(f'{s}(km/h) 속도로 {d}(km) 이동한 시간: {t[0]}(시간) {t[1]}(분)')
  • 재귀함수로 팩토리얼 구하기
def recursionFun(n):

    if n == 1:
        return 1
    return n * recursionFun(n - 1)
  • 단리 계산기
def singleRateCalculator(m, t, r):

    totalMoney = 0
    totalRateMoney = 0

    for i in range(t):
        totalRateMoney += m * (r * 0.01)
    totalMoney = m + totalRateMoney
    return int(totalMoney)
  • 복리 계산기
def multiRateCalculator(m, t, r):

    t = t * 12
    rpm = (r / 12) * 0.01

    totalMoney = m

    for i in range(t):
        totalMoney += totalMoney * rpm
    return int(totalMoney)
money = int(input('예치금(원): '))
term = int(input('기간(년): '))
rate = float(input('연 이율(%): '))
  • 등차수열 첫째항, 공차, n을 입력하면 n번째 항과 n번째 항까지의 합 구하기
def sequenceCal(n1, d, n):
    valueN = 0; sumN = 0;

    i = 1
    while i <= n:
        if i == 1:
            valueN = n1
            sumN += valueN
            print(f'{i}번째 항의 값: {valueN}')
            print(f'{i}번째 항까지의 합: {sumN}')

            i += 1
            continue
        else:
            valueN += d
            sumN += valueN
            print(f'{i}번째 항의 값: {valueN}')
            print(f'{i}번째 항까지의 합: {sumN}')

            i += 1

등차수열 n번째 항 구하기 : an = a1 + (n-1) d
등차수열의 합 공식 : sn = n
(a1 + an) / 2

-> 공식을 사용해도 ㄱㅊ

  • 등비수열 구하기

    an = a1 r^(n-1)
    sn = a1
    (1-r^n) / (1-r)

  1. 모듈
import discount as dc

if __name__ == '__main__':
    flag = True
    gs = []

    while flag:
        selectNumber = int(input('1.구매, 2.종료'))

        if selectNumber == 1:
            goods_price = int(input('상품 가격 입력: '))
            gs.append(goods_price)

        elif selectNumber == 2:
            result = dc.calculatorTotalPrice(gs)
            flag = False

    print(f'할인율: {result[0]}')
    print(f'합계: {result[1]}원')

모듈 진짜 어려움..

0개의 댓글