Python 문풀 04.

yoong·2023년 4월 20일

1. Python

목록 보기
17/21

[실습1]

def exampleResult(s1,s2,s3,s4,s5):

        passAvgScore = 60; limitScore = 40

        def getTotal():
            totalScore = s1+s2+s3+s4+s5
            print(f'총점: {totalScore}')
            return totalScore

        def getAverage():
            avg = getTotal() / 5
            print(f'평균: {avg}')
            return avg

        def printPassOrFail():
            print(f'{s1}: pass ') if s1 >= limitScore else print(f'{s1}: fail ')
            print(f'{s2}: pass ') if s2 >= limitScore else print(f'{s2}: fail ')
            print(f'{s3}: pass ') if s3 >= limitScore else print(f'{s3}: fail ')
            print(f'{s4}: pass ') if s4 >= limitScore else print(f'{s4}: fail ')
            print(f'{s5}: pass ') if s5 >= limitScore else print(f'{s5}: fail ')

        def printPassOrFailFinal():

            if getAverage() >= passAvgScore:
                if s1 >= limitScore and s2 >= limitScore and s3 >= limitScore and s4 >= limitScore and s5 >= limitScore:
                    print('Final Pass!!')
                else:
                    print('Final Fail')
            else:
                print('Fianl Fail')


        getAverage()
        printPassOrFail()
        printPassOrFailFinal()
        
        

[실습2]

def calculatorTotalPrice():

    if len(gs) <= 0:
        print('구매 상품이 없습니다.')
        return

    rate = 25
    totalPrice = 0

    rates = {1:5,2:10,3:15,4:20}

    if len(gs) in rates:
        rate = rates[leng(gs)]

    for g in gs:
        totalPrice += g + (1 - rate * 0.01)

    return [rate,int(totalPrice)]

[실습3]

: 순열

#방법1 : 모듈만들기 
def getPermutationCnt(n,r,logPrint = True):

    result = 1
    for n in range(n,(n-r),-1):
        if logPrint: print('n: {}'.format(n))
        result = result * n


    return result
    
#실행파일
import permutation_module as pm

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

print(f'{numN}P{numR}: {pm.getPermutationCnt(numN,numR,logPrint=False)}')
#방법2 : getPermutations 
from itertools import permutations

def getPermutations(ns,r):

    plist = list(permutation(ns,r))
    print(f'{len(ns)}P{r}개수: {len(pList)}')

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

#실행파일
import permutation_module as pm

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

[실습4]

:조합

#방법1 : 모듈만들기 

def getCombinationCnt(n,r,logPrint = True):

    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
    
    
#실행파일
import combination_module as cm

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

print(f'{numN}C{numR}: {cm.getCombinationCnt(numN,numR,logPrint =False)}')
#방법 2: 파이썬 모듈

from itertools import combinations

def getCombinations(ns,r):
    cList =list(combinations(ns,r))
    print(f'{len(ns)}C{r}: {len(cList)}')
    
    
#실행파일
import combination_module as cm

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

[실습5]

: 수입과 공과금을 입력하면 공과금 총액과 수입 대비 공과금 비율을 계산하는 모듈을 만들어보기

#모듈 
income = 0
waterPrice = 0; electricPrice = 0; gasPrice = 0

def setIncome(ic):
    global income
    income = ic

def getIncome():
    return income


def setWaterPrice(wp):
    global waterPrice
    waterPrice = wp


def getWaterPrice():
    return waterPrice

def setElectricPrice(ep):
    global electricPrice
    electricPrice = ep


def getElectricPrice():
    return electricPrice

def setGasPrice(gp):
    global gasPrice
    gasPrice = gp


def getGasPricee():
    return gasPrice

def getUtilityBill():
    result = waterPrice + electricPrice + gasPrice
    return result

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


#실행파일
import dueAndIncome as dai

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

inputWaterPrice = int(input('수도요금 입력: '))
dai.setWaterPrice(inputWaterPrice)

inputElectricPrice = int(input('전기요금 입력: '))
dai.setElectricPrice(inputElectricPrice)

inputGasPrice = int(input('가스요금 입력: '))
dai.setGasPrice(inputGasPrice)

print(f'공과금: {dai.getUtilityBill()} 원')
print(f'수익 대비 공과금비율: {dai.getUtilityBillRate()}')

Reference

  • 이글은 제로베이스 데이터 취업 스쿨의 강의자료 일부를 발췌하여 작성되었음.
profile
데이터와 이미지로 세상을 공부하는 중입니다 :)

0개의 댓글