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()
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)]
: 순열
#방법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)
:조합
#방법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)
: 수입과 공과금을 입력하면 공과금 총액과 수입 대비 공과금 비율을 계산하는 모듈을 만들어보기
#모듈
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()}')