728x90
반응형

다음과 같은 순서로 동작하는 코드 립니다.
# step1 : 데이터 만들기. [4,33,23,0,34,23,43,0...]
# step2 : 데이터에서 0으로 6개의 분기별 데이터로 분리
- [[6, 58, 2], [58, 27, 54, 9..],[],[],[]]
# step3 : 분기별 세금 계산하고 출력. 최대 세금 찾고 출력
import random
# step1 : 데이터 만들기. [4,33,23,0,34,23,43,0...]
data = []
for i in range(6): # 6개 분기
size = random.randint(1, 20) # 몇개의 수를 요소로 할지 결정. 1~20까지로 함. 20은 규정에는 없으나 너마 많지 않도록 함.
for j in range(size): # 몇개 요소(분기별)인지로 반복
data.append(random.randint(1, 99)) # 1~99까지 수 중 임의의 수로 분기별 데이터를 만들어 리스트(data)에 추가
if i < 5: # 마지막이 아니면
data.append(0) # 0을 추가. 0은 분기 구분용
print(data) # 디버깅용. 어떤 데이터가 만들어 졌는지 확인용. 결과만 볼때는 주석(#)처리
# step2 : 데이터에서 0으로 6개의 분기별 데이터로 분리
quarter = [] # 0으로 구분된 분기데이터 저장용 리스트
tmp = [] # 분기 데이터만 임시로 가지고 있을 리스트
for i in range(len(data)): # data의 요소수 만큼 반복
if data[i] != 0: # 값이 0 이 아니면 분기 데이터임
tmp.append(data[i]) # 임시분기데이터(tmp) 리스트에 값 추가
else: # 값이 0 이면 분기가 끝임.
quarter.append(tmp) # 임시로 가지고 있던 분기데이터를 진짜 분기별 데이터 리스트에 추가
tmp = [] # 임시분기데이터 리스트는 초기화해 다음 분기데이터를 보관 할 수 있도록 함
quarter.append(tmp) # 제일 마지막 분기데이터는 quarter에 추가가 되지 않기때문에 여기서 추가
print(quarter) # 디버깅용. 분기별 데이터 확인용. 결과만 볼때는 주석(#)처리
# step3 : 분기별 세금 계산하고 출력. 최대 세금 찾고 출력
max_tax = 0 # 최대 세금 보관 변수
max_quarter = '' # 최대 세금 분기명 보관 변수
for i in range(len(quarter)): # 분기별 데이터 만큼 반복. 6개 분기
d_sum = sum(quarter[i]) # 리스트를 sum() 함수로 합계를 계산
tax = d_sum * 0.1 # 합의 10% 세감 계산. 0.1 곱하기
q_name = str(i+1) + '분기' # 분기명을 만듬
if tax > max_tax: # 최대 세금을 찾기 위함
max_tax = tax
max_quarter = q_name
print(f"{q_name} : {tax:0.1f}") # 분기별 세귿 출력. 소수점 1자리까지만 출력
print(f"최대세금 : {max_quarter} = {max_tax:0.1f}") # 최대세금 출력
결과
[6, 58, 2, 0, 58, 27, 54, 95, 20, 74, 78, 15, 65, 14, 38, 87, 37, 0, 43, 0, 21, 94, 53, 98, 65, 94, 81, 51, 10, 17, 21, 12, 53, 37, 54, 92, 15, 87, 51, 0, 36, 67, 0, 72, 8, 65, 79, 55, 16, 52, 6, 99, 99, 18, 62, 82]
[[6, 58, 2], [58, 27, 54, 95, 20, 74, 78, 15, 65, 14, 38, 87, 37], [43], [21, 94, 53, 98, 65, 94, 81, 51, 10, 17, 21, 12, 53, 37, 54, 92, 15, 87, 51], [36, 67]]
1분기 : 6.6
2분기 : 66.2
3분기 : 4.3
4분기 : 100.6
5분기 : 10.3
최대세금 : 4분기 = 100.6
728x90
반응형
'프로그램' 카테고리의 다른 글
[파이썬] pandas에서 조건 데이터 수정 (0) | 2022.11.08 |
---|---|
[파이썬] plot에서 y축 지수표시 안되도록 하기 (0) | 2022.11.08 |
[파이썬] 문제 : 간단한 만족도 데이터 csv파일 Bar Chart 그리기 (0) | 2022.11.07 |
[파이썬] 문제 : 학생들 성적을 numpy로 만들고 평균 구하기 (0) | 2022.11.07 |
[파이썬] 문제 : 입력된 수 보다 작은 피보나치 수열 만들기 (0) | 2022.11.07 |
댓글