###수입과 공과금 입력하면 공과금 총액과 수입 대비 공과금 비율을 계산하는 모듈 만들기
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 getGasPrice():
return gasPrice
def getUtilityBill():
result = waterPrice + electricPrice + gasPrice
return result
def getUtilityBillRate():
result = getUtilityBillRate() / getIncome() * 100
return result
import utilityBill as ub
inputIncome = int(input('수입 입력: '))
ub.setIncome(inputIncome)
inputWaterPrice = int(input('수도요금 입력: '))
ub.setWaterPrice(inputWaterPrice)
inputElectricPrice = int(input('전기요금 입력: '))
ub.setIncome(inputIncome)
inputGasPrice = int(input('가스요금 입력: '))
ub.setGasPrice(inputGasPrice)
print(f'공과금: {ub.getUtilityBill()}원')
print(f'수입 대비 공과금 비율: {ub.getUtilityBillRate()}%')
공과금: 140000원
수입 대비 공과금 비율: 4.67%
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)
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)
def calCircleArea(r):
return round(r * 2 3.14, 2)
def calTriangleArea(w, h):
return round(w * h / 2, 2)
def calSquareArea(w, h):
return round(w * h, 2)
from arithmetic import basic_operator as bo
from arithmetic import developer_operator as do
from shape import circle_area as ca
from shape import triangle_square_area as tsa
inputNum1 = float(input('숫자 1 입력: '))
inputNum2 = float(input('숫자 2 입력: '))
print(f'{inputNum1} + {inputNum2} = {bo.add(inputNum1, inputNum2)}')
print(f'{inputNum1} - {inputNum2} = {bo.sub(inputNum1, inputNum2)}')
print(f'{inputNum1} * {inputNum2} = {bo.mul(inputNum1, inputNum2)}')
print(f'{inputNum1} / {inputNum2} = {bo.div(inputNum1, inputNum2)}')
print(f'{inputNum1} % {inputNum2} = {do.mod(inputNum1, inputNum2)}')
print(f'{inputNum1} // {inputNum2} = {do.flo(inputNum1, inputNum2)}')
print(f'{inputNum1} ** {inputNum2} = {do.exp(inputNum1, inputNum2)}')
a = float(input('가로 입력: '))
b = float(input('세로 입력: '))
c = float(input('반지름 입력: '))
print(f'삼각형 넓이: {tsa.calTriangleArea(a,b)}')
print(f'사각형 넓이: {tsa.calSquareArea(a,b)}')
print(f'원 넓이: {ca.calCircleArea (c)}')
class Member:
def init(self, i, p): # 회원 한 명 회원의 아이디와 패스워드를 갖고 있는 객체를 만들기 위한 패스워드
self.id = i
self.pw = p
class MemberRepository: #회원들을 관리하는 클래스
def init(self):
self.members = {} # 딕셔너리
def addMember(self, m): # 회원 추가 / 이 m 이 Member 클래스에서 만들어진 객체가 된다.
self.members[m.id] = m.pw # 키 값은 아이디, 벨류 값은 비밀번호
def loginMember(self, i, p):
isMember = i in self.members # members 안에 아이디가 있으면 아이디 인증을 한다
if isMember and self.members[i] == p:
print(f'{i}: log-in success')
else:
print(f'{i}: log-in fail')
def removeMember(self, i, p):
del self.members[i]
def printMembers(self):
for mk in self.members.keys(): # 전체 회원 출력 기능
print(f'ID: {mk}')
print(f'PW: {self.members[mk]}')
import member as mb
mems = mb.MemberRepository() # 객체가 하나 생성될 것이니 변수에 담아줘야
for i in range(3):
mId = input('아이디 입력: ')
mPw = input('비밀번호 입력: ')
mem = mb.Member(mId, mPw) # 이걸 mems 에다가 추가를 해줘야
mems.addMember(mem)
mems.printMembers() # 제대로 추가 되었는지 확인용
mems.loginMember('abc@gmail.com', '1234')
mems.loginMember('def@gmail.com', '5678')
mems.loginMember('hij@gmail.com', '9012')
mems.removeMember('abc@gmail.com', '1234')
mems.printMembers()