Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- /etc/network/interfaces
- 데비안
- 처음 만나는 AI 수학 with Python
- d
- 처음 만나는 AI수학 with Python
- 구멍가게코딩단
- 목록처리
- resttemplate
- network configuration
- 코드로배우는스프링부트웹프로젝트
- GIT
- 스프링 시큐리티
- 페이징
- 자료구조와함께배우는알고리즘입문
- 선형대수
- 네트워크 설정
- 자바편
- baeldung
- Kernighan의 C언어 프로그래밍
- 코드로배우는스프링웹프로젝트
- 리눅스
- iterator
- ㅒ
- 이터레이터
- 스프링부트핵심가이드
- 친절한SQL튜닝
- 알파회계
- 자료구조와 함께 배우는 알고리즘 입문
- 티스토리 쿠키 삭제
- 서버설정
Archives
- Today
- Total
bright jazz music
5. 분개 본문
# 2022년 1월 1일: 자본금 100,000,000원을 주주로부터 현금 출자받다.
# 2022년 1월 2일: 사무실을 빌리고 1개월 임차료 1,000,000원을 현금으로 지급
# 2022년 1월 3일: 중고 자동차 1대를 구입하고 1,500,000원을 현금으로 지급
# 2022년 1월 4일: 경리부 직원에 대한 급여 700,000을 현금으로 지급
# 2022년 1월 5일: 기계장치 5,000,000원을 B사로부터 외상으로 구입
# 2022년 1월 6일: 용역을 제공하고 그 대가로 4,000,000원을 수취하기로 하였다.
# 2022년 1월 7일: A은행으로부터 현금 40,000,000을 만기 2년으로 차입
#2022년 1월 중에 발생한 거래를 아래와 같은 양식으로 분개할 것
계정과목명 | 계정그룹 | 기준위치 |
현금 | 자산 | 차변 |
매출채권 | 자산 | 차변 |
상품 | 자산 | 차변 |
차량운반구 | 자산 | 차변 |
기계 | 자산 | 차변 |
매입채무 | 부채 | 대변 |
미지급금 | 부채 | 대변 |
장기차입금 | 부채 | 대변 |
자본금 | 자본 | 대변 |
이익잉여금 | 자본 | 대변 |
매출 | 수익 | 대변 |
매출원가 | 비용 | 차변 |
급여 | 비용 | 차변 |
임차료 | 비용 | 차변 |
계정과목을 아래와 같은 양식으로 분개할 것
일자 | 계정과목명 | 차변 | 대변 |
1월 1일 | 현금 | 100,000,000 | |
1월 1일 | 자본금 | 1,000,000 | |
1월 2일 | 임차료 | 1,000,000 | |
1월 2일 | 현금 | 1,000,000 | |
1월 3일 | 차량운반구 | 1,500,000 | |
1월 3일 | 현금 | 1,000,000 | |
1월 4일 | 급여 | 700,000 | |
1월 4일 | 현금 | 700,000 | |
1월 5일 | 기계 | 5,000,000 | |
1월 5일 | 미지급금 | 5,000,000 | |
1월 6일 | 매출채권 | 4,000,000 | |
1월 6일 | 매출 | 4,000,000 | |
1월 7일 | 현금 | 40,000,000 | |
1월 7일 | 장기차입금 | 40,000,000 |
분개장의 내용을 계정코드 별로 아래와 같이 전기하여 보여줘라.
(아래는 현금 계정에 대한 전기 결과이다)
# 2022년 1월 1일: 자본금 100,000,000원을 주주로부터 현금 출자받다.
# 2022년 1월 2일: 사무실을 빌리고 1개월 임차료 1,000,000원을 현금으로 지급
# 2022년 1월 3일: 중고 자동차 1대를 구입하고 1,500,000원을 현금으로 지급
# 2022년 1월 4일: 경리부 직원에 대한 급여 700,000을 현금으로 지급
# 2022년 1월 5일: 기계장치 5,000,000원을 B사로부터 외상으로 구입
# 2022년 1월 6일: 용역을 제공하고 그 대가로 4,000,000원을 수취하기로 하였다.
# 2022년 1월 7일: A은행으로부터 현금 40,000,000을 만기 2년으로 차입
#2022년 1월 중에 발생한 거래를 아래와 같은 양식으로 분개할 것
일자 | 계정과목명 | 차변 | 대변 |
1월 1일 | 현금 | 100,000,000 | |
1월 1일 | 현금 | 1,000,000 | |
1월 2일 | 현금 | 1,500,000 | |
1월 3일 | 현금 | 700,000 | |
1월 4일 | 현금 | ||
1월 5일 | 현금 | ||
1월 6일 | 현금 | ||
1월 7일 | 현금 | 40,000,000 | |
소계 | 140,000,000 | 3,200,000 | |
잔액 | 136,800,000 |
#분개
분개_1월1일 = [["1월1일"],
["차변", ["현금", 100_000_000]],
["대변", ["자본금", 100_000_000]]
]
분개_1월2일 = [["1월2일"],
["차변", ["임차료", 1_000_000]],
["대변", ["현금", 1_000_000]]
]
분개_1월3일 = [["1월3일"],
["차변", ["차량운반구", 1_500_000]],
["대변", ["현금", 1_500_000]]
]
분개_1월4일 = [["1월4일"],
["차변", ["급여", 700_000]],
["대변", ["현금", 700_000]]
]
분개_1월5일 = [["1월5일"],
["차변", ["기계", 5_000_000]],
["대변", ["미지급금", 5_000_000]]
]
분개_1월6일 = [["1월6일"],
["차변", ["매출채권", 4_000_000]],
["대변", ["매출", 4_000_000]]
]
분개_1월7일 = [["1월7일"],
["차변", ["현금", 40_000_000]],
["대변", ["미지급금", 40_000_000]]
]
###########################################
전체분개 = [
분개_1월1일, 분개_1월2일,
분개_1월3일, 분개_1월4일,
분개_1월5일, 분개_1월6일,
분개_1월7일
]
##########################################
분개_차변 = [분개세부내역[1][1] for 일자별분개 in 전체분개
for 분개세부내역 in 일자별분개 if 분개세부내역[0] == "차변"]
#분개세부내역[1][1] == ["차변", ["현금", 40_000_000]]
분개_대변 = [분개세부내역[1][1] for 일자별분개 in 전체분개
for 분개세부내역 in 일자별분개 if 분개세부내역[0] == "대변"]
print("@@@ 분개 @@@")
print("\n분개 차변")
print(분개_차변)
print("\n분개 대변")
print(분개_대변)
##########################################
print("\n분개차변합계: ", sum(분개_차변))
print("분개대변합계: ", sum(분개_대변))
#@@@ 분개 @@@
#
# 분개 차변
# [100000000, 1000000, 1500000, 700000, 5000000, 4000000, 40000000]
#
# 분개 대변
# [100000000, 1000000, 1500000, 700000, 5000000, 4000000, 40000000]
#
# 분개차변합계: 152200000
# 분개대변합계: 152200000
#전기
def 계정전기(입력계정):
if 입력계정 in [세세부내역[0] for 일자별분개 in 전체분개
for 분개세부내역 in 일자별분개
for 세세부내역 in 분개세부내역]:
print([[일자별분개[0], 분개세부내역[0], 세세부내역[1]] for 일자별분개 in 전체분개
for 분개세부내역 in 일자별분개
for 세세부내역 in 분개세부내역 if 세세부내역[0] == 입력계정])
else:
print("계정과목없음")
def 계정전기합계(입력계정):
if 입력계정 in [세세부내역[0] for 일자별분개 in 전체분개
for 분개세부내역 in 일자별분개
for 세세부내역 in 분개세부내역] :
차변계정금액 = [세세부내역[1] for 일자별분개 in 전체분개
for 분개세부내역 in 일자별분개 if 분개세부내역[0] == "차변"
for 세세부내역 in 분개세부내역 if 세세부내역[0] == 입력계정]
대변계정금액 = [세세부내역[1] for 일자별분개 in 전체분개
for 분개세부내역 in 일자별분개 if 분개세부내역[0] == "대변"
for 세세부내역 in 분개세부내역 if 세세부내역[0] == 입력계정]
if sum(차변계정금액) > sum(대변계정금액):
print("차변잔액: ", abs(sum(차변계정금액)-sum(대변계정금액)))
else:
print("대변잔액: ", abs(sum(차변계정금액)-sum(대변계정금액)))
else:
print("계정과목 없음")
print("\n@@@ 전기 @@@")
계정전기("현금")
print("*************************")
계정전기합계("현금")
# @@@ 전기 @@@
# [[['1월1일'], '차변', 100000000], [['1월2일'], '대변', 1000000], [['1월3일'], '대변', 1500000], [['1월4일'], '대변', 700000], [['1월7일'], '차변', 40000000]]
# *************************
# 차변잔액: 136800000
코드 설명
그림은 pythontutor.com 사용
1) 리스트를 이용하여 분개 일자별 거래를 입력
분개를 입력하는 순서를 아래와 같이 가정:
- 일자 => 차변 => 계정과목 => 금액
위 가정을 토대로
- [일자], [차변 분개 내용], [대변 분개 내용] 을 각 일자별 분개 리스트에 하위 리스트로 넣는다.
- 이 때 차변 먼저 기입하고 대변은 자웅에 기입하여 모든 분개 리스트의 순서를 일치시켜야 한다.
- 또한 가독성을 위해 금액을 천단위로 언더바를 사용하였다.
분개_1월1일 = [["1월1일"],
["차변", ["현금", 100_000_000]],
["대변", ["자본금", 100_000_000]]
]
분개_1월2일 = [["1월2일"],
["차변", ["임차료", 1_000_000]],
["대변", ["현금", 1_000_000]]
]
2) 분개를 리스트 형태로 모두 입력 (분개장 생성)
- 분개를 만들었으면 이를 리스트 형태로 관리한다. 변수명은 "전체분개"로 한다.
- 이렇게 만든 리스트가 분개장의 개념이 된다. 이 때 튜플이 아닌 리스트로 생성해야 한다.
- 튜플을 사용한다면 분개를 수정해야 할 경우 수정이 불가하기 때문이다.
전체분개 = [
분개_1월1일, 분개_1월2일,
분개_1월3일, 분개_1월4일,
분개_1월5일, 분개_1월6일,
분개_1월7일
]
3) 차변과 대변의 잔액 합계를 구하고 확인
cf. sum([1, 2]) == 3
분개_차변 = [분개세부내역[1][1] for 일자별분개 in 전체분개
for 분개세부내역 in 일자별분개 if 분개세부내역[0] == "차변"]
분개_대변 = [분개세부내역[1][1] for 일자별분개 in 전체분개
for 분개세부내역 in 일자별분개 if 분개세부내역[0] == "대변"]
print("@@@ 분개 @@@")
print("\n분개 차변")
print(분개_차변)
##########################################
print("\n분개차변합계: ", sum(분개_차변))
print("분개대변합계: ", sum(분개_대변))
#@@@ 분개 @@@
#
# 분개 차변
# [100000000, 1000000, 1500000, 700000, 5000000, 4000000, 40000000]
#
# 분개 대변
# [100000000, 1000000, 1500000, 700000, 5000000, 4000000, 40000000]
#
# 분개차변합계: 152200000
# 분개대변합계: 152200000
위 코드는 실제적으로 아래와 같다.
"일자별분개"와 "분개세부내역"은, 리스트에서 요소를 하나씩 꺼내어 대입하기 위해 for문 내에서 생성한 변수이다.
전체분개 = [분개_1월1일, 분개_1월2일]
for 일자별분개 in 전체분개:
for 분개세부내역 in 일자별분개:
print(분개세부내역)
#['1월1일']
#['차변', ['현금', 100000000]]
#['대변', ['자본금', 100000000]]
#['1월2일']
#['차변', ['임차료', 1000000]]
#['대변', ['현금', 1000000]]
참고로 리스트 안에서 표현할 수 있는 문법은 기본적으로 다음과 같다.
[표현식 for 개별항목 in 반복가능항목 if 조건]
===========================
for 개별항목 in 반복가능항목
if 조건:
표현식
===========================
#for문의 중복사용도 가능하다.
[표현식 for 개별항목1 in 반복가능항목1 if 조건1]
for 개별항목2 in 반복가능항목2 if 조건2
...
for 개별항목n in 반복가능항목n if 조건n]
위에서 리스트를 반복문과 조건문으로 활용한 코드를 참고하여, 아래의 코드를 보자
분개_차변 = [분개세부내역[1][1] for 일자별분개 in 전체분개
for 분개세부내역 in 일자별분개 if 분개세부내역[0] == "차변"]
# '전체분개' 안(in)에서
# 각각(for)의 '일자별분개(e.g. [분개_1월1일])'를 고르고, #
# 다시 '일자별분개' 안에서
# 각각의 '분개세부내역(e.g. [['1월1일'], ['차변', ['현금', 100000000]], ['대변', ['자본금', 100000000]]])'을 고르고,
# 각각의 '분개세부내역' 리스트 순서 중 첫 번째, 즉 [0]번 원소의 값이 '차변'이라면(if)
# '분개세부내역'의 두 번째[1]의 두 번째[1]를 리스트 순서대로 출력한다.
#전체분개
전체분개==[[['1월1일'], ['차변', ['현금', 100000000]], ['대변', ['자본금', 100000000]]], [['1월2일'], ['차변', ['임차료', 1000000]], ['대변', ['현금', 1000000]]], [['1월3일'], ['차변', ['차량운반구', 1500000]], ['대변', ['현금', 1500000]]], [['1월4일'], ['차변', ['급여', 700000]], ['대변', ['현금', 700000]]], [['1월5일'], ['차변', ['기계', 5000000]], ['대변', ['미지급금', 5000000]]], [['1월6일'], ['차변', ['매출채권', 4000000]], ['대변', ['매출', 4000000]]], [['1월7일'], ['차변', ['현금', 40000000]], ['대변', ['미지급금', 40000000]]]]
'기타 > 파이썬 회계' 카테고리의 다른 글
4. 거래분석 (0) | 2022.09.01 |
---|---|
3. 회계상 거래판별 (0) | 2022.07.24 |
2. 확장된 회계등식 (0) | 2022.07.23 |
1. 회계등식 (0) | 2022.07.23 |
Comments