Day17. 파이썬 중급문풀 (3)_2

Junghwan Park·2023년 4월 24일
0

스터디노트

목록 보기
18/54

[연습문제] 모듈(05)

-조합 계산 모듈을 만들고 다음 조합 계산 결과를 출력해 보자.

실행파일

import combination as ct

numN = int(input('numN 입력 : '))
numR = int(input('numR 입력 : '))


print(f'{numN}C{numR} : {ct.getCombinationCnt(numN, numR, logPrint = False)}')

listVar = [1, 2, 3, 4, 5, 6, 7, 8]
rVar = 3
ct.getCombinations(listVar, rVar)

모듈파일

# 조합을 구하는 공식 = nPr / n!

# 수학 공식을 사용한 방법
def getCombinationCnt(n, r, logPrint = True):    # n 전체 개수 , r 그중 선택 개수

    resultP = 1
    resultR = 1
    resultC = 1

    # 순열 구하기
    for n in range(n, (n-r), -1):
        resultP = resultP * n

    if logPrint: print(f'resultP : {resultP}')

    for n in range(r, 0, -1):
        resultR = resultR * n

    if logPrint: print(f'resultR : {resultR}')

    resultC = int(resultP / resultR)
    if logPrint: print(f'resultC : {resultC}')

    return resultC

# 모듈을 사용한 방법

from itertools import combinations

def getCombinations(ns, r):
    cList = list(combinations(ns, r))
    print(f'{len(ns)}C{r} : {len(cList)}')

    for n in combinations(ns, r):
        print(n, end= ', ')

[연습문제] 모듈(06)

  • 수입과 공과금을 입력하면 공과급 총액과 수입 대비 공과금 비율을 계산하는 모듈을 만들어보자.

실행파일

import utilityBill as ub

inputIncome = int(input('수입 입력 : '))
ub.setIncome(inputIncome)

inputWaterPrice = int(input('수도요금 입력 : '))
ub.setWaterPirce(inputWaterPrice)

inputElectricPrice = int(input('전기요금 입력 : '))
ub.setElectricPirce(inputElectricPrice)

inputGasPrice = int(input('가스요금 입력 : '))
ub.setGasPirce(inputGasPrice)

print(f'공과금 : {ub.getUtilityBill()}원')
print(f'수입 대비 공과금 비율 : {ub.getUtilityBillrate()}%')

# format함수로 숫자 정리 해보기

모듈파일

income = 0
waterPirce = 0
electricPirce = 0
gasPirce = 0

# 수입을 설정하고 겟 해주는 설정
def setIncome(ic):  # setter
    global income
    income = ic

def getIncome():  # getter
    return income

# 수도요금을 설정하고 겟 해주는 설정
def setWaterPirce(wp):  # setter
    global waterPirce
    waterPirce = wp

def getWaterPirce():  # getter
    return waterPirce

# 전기요금을 설정하고 겟 해주는 설정
def setElectricPirce(ep):  # setter
    global electricPirce
    electricPirce = ep

def getElectricPirce():  # getter
    return electricPirce

# 가스요금을 설정하고 겟 해주는 설정
def setGasPirce(gp):  # setter
    global gasPirce
    gasPirce = gp

def getGasPirce():  # getter
    return gasPirce

# 공과금 총액을 get
def getUtilityBill():
    result = waterPirce + electricPirce + gasPirce
    return result

def getUtilityBillrate():
    result = getUtilityBill() / getIncome() * 100
    return result

[연습문제] 모듈(07)

  • 다음과 같이 패키지와 모듈을 만들고 연산 결과를 출력해 보자.

arithmetic 패키지
basic_operator.py 덧셈, 뺄셈, 곱셈, 나눗셈
developer_operator.py 나머지, 몫, 거듭제곱

shape 패키지
circle_area.py 원의넓이
triangle_square_area.py 삼각형, 사각형의 넓이

실행파일

inputNumber1 = float(input('숫자1 입력 : '))
inputNumber2 = float(input('숫자2 입력 : '))

print(f'{inputNumber1} + {inputNumber2} = {bo.add(inputNumber1, inputNumber2)}')
print(f'{inputNumber1} - {inputNumber2} = {bo.sub(inputNumber1, inputNumber2)}')
print(f'{inputNumber1} * {inputNumber2} = {bo.mul(inputNumber1, inputNumber2)}')
print(f'{inputNumber1} / {inputNumber2} = {bo.div(inputNumber1, inputNumber2)}')

print(f'{inputNumber1} % {inputNumber2} = {do.mod(inputNumber1, inputNumber2)}')
print(f'{inputNumber1} // {inputNumber2} = {do.flo(inputNumber1, inputNumber2)}')
print(f'{inputNumber1} ** {inputNumber2} = {do.exp(inputNumber1, inputNumber2)}')

inputWidth = float(input('가로 입력 : '))
inputHeight = float(input('세로 입력 : '))

print(f'삼각형 넓이 : {tsa.calTriangleArea(inputWidth, inputHeight)}')
print(f'사각형 넓이 : {tsa.calSquareArea(inputWidth, inputHeight)}')

inputRadius = float(input('반지름 입력 : '))
print(f'원의 넓이 : {ca.calCircleArea(inputRadius)}')

arithmetic 패키지
basic_operator 모듈파일

def add(n1, n2):
    return round(n1 + n2, 2)   # 소수나 정수 올 수 있기때문에

def sub(n1, n2):
    return round(n1 - n2, 2)

def mul(n1, n2):
    return round(n1 * n2, 2)

def div(n1, n2):
    return round(n1 / n2, 2)

arithmetic 패키지
developer_operator 모듈파일

def mod(n1, n2):
    return round(n1 % n2, 2)   # 소수나 정수 올 수 있기때문에

def flo(n1, n2):
    return round(n1 // n2, 2)

def exp(n1, n2):
    return round(n1 ** n2, 2)

shape 패키지
circle_area 모듈파일

def calCircleArea(r):
    return round(r * r * 3.14, 2)   # 소수나 정수 올 수 있기때문에

shape 패키지
triangle_square_area 모듈파일

def calTriangleArea(w, h):
    return round(w * h / 2, 2)   # 소수나 정수 올 수 있기때문에

def calSquareArea(w, h):
    return round(w * h, 2)   # 소수나 정수 올 수 있기때문에

이 글은 제로베이스 데이터 취업 스쿨의 강의자료 일부를 발췌하여 작성되었습니다.

profile
안녕하세요 반갑습니다^^

0개의 댓글