일상 코딩
[python] 중량 조절 로더블 덤벨 원판 조합 코드 loadable dumbbell plate combination python code 본문
[python] 중량 조절 로더블 덤벨 원판 조합 코드 loadable dumbbell plate combination python code
polarcompass 2023. 3. 12. 15:57저중량 원판
파워리프팅 저중량 원판이 두께가 얇아
크라토스 중량 덤벨에는 더 적합하다고 판단
하지만 길이가 긴 zeid 중량 덤벨에는
역도용 원판도 무리 없이 다 들어가기에
본인에게 맞다고 생각하는 것을 두께를 계산해서
판단하면 되겠다.
로더블 덤벨
파이썬 코드
plate = [0.25, 0.50, 1.00, 1.25, 2.50, 5.00]
loadable = 4.50
# 원판 조합
plate_combi = []
for a in [0, plate[0]]:
for b in [0, plate[1]]:
for c in [0, plate[2]]:
for d in [0, plate[3]]:
for e in [0, plate[4]]:
for f in [0, plate[5]]:
plate_combi.append([a,b,c,d,e,f])
# 원판 조합 확인
for i in plate_combi:
print(i)
# 원판 조합 계산
for target_weight in range(5,30+1):
hap = 0
for low_plate in plate_combi:
hap = sum(list(map(lambda x: x, low_plate)))
if(target_weight == loadable + hap * 2):
low_plate_list = ""
for i in low_plate:
if i == 0: continue
low_plate_list += f"{i} + "
print(f"{target_weight:2d}kg = {loadable}kg + ( {low_plate_list[:-2]}) X 2")
개선된 코드
plate = [0.25, 0.50, 0.75, 1.00, 1.25, 2.50, 5.00]
loadable = 5
elem = [[0, plate[i]] for i in range(len(plate))]
print(elem)
from itertools import product
improve_combi = []
for i in product(*elem):
improve_combi.append(list(i))
print(list(i))
for target_weight in range(5,30+1):
hap = 0
for low_plate in improve_combi:
hap = sum(list(map(lambda x: x, low_plate)))
if(target_weight == loadable + hap * 2):
low_plate_list = ""
for i in low_plate:
if i == 0: continue
low_plate_list += f"{i} + "
print(f"{target_weight:2d}kg = {loadable}kg + ( {low_plate_list[:-2]}) X 2")
[Python] 순열, 조합 itertools 설명 및 예제
안녕하세요. 오늘은 코딩테스트나 실제로 자주 사용되는 Python 내부 모듈 itertools에 대해 알아보겠습니다. 파이썬 itertools 모듈 설명 ▣ itertools란? Python 내장 라이브러리로 자신만의 반복자를 만
codingspooning.tistory.com
조합 결과
최대 25kg 까지 조합이 가능하다.
한 가지 무게에도 가능한 조합이 다 들어있어서 조합을 선택 할 수 있다.
또한 최대 이점은 1kg 단위로 조합이 가능해
한정된 예산으로 다양한 덤벨을 보유한 효과를 가지고 있어
경제적이라고 볼 수 있다.
5kg = 4.5kg + ( 0.25 ) X 2
6kg = 4.5kg + ( 0.25 + 0.5 ) X 2
7kg = 4.5kg + ( 1.25 ) X 2
7kg = 4.5kg + ( 0.25 + 1 ) X 2
8kg = 4.5kg + ( 0.5 + 1.25 ) X 2
8kg = 4.5kg + ( 0.25 + 0.5 + 1 ) X 2
9kg = 4.5kg + ( 1 + 1.25 ) X 2
10kg = 4.5kg + ( 0.5 + 1 + 1.25 ) X 2
10kg = 4.5kg + ( 0.25 + 2.5 ) X 2
11kg = 4.5kg + ( 0.25 + 0.5 + 2.5 ) X 2
12kg = 4.5kg + ( 1.25 + 2.5 ) X 2
12kg = 4.5kg + ( 0.25 + 1 + 2.5 ) X 2
13kg = 4.5kg + ( 0.5 + 1.25 + 2.5 ) X 2
13kg = 4.5kg + ( 0.25 + 0.5 + 1 + 2.5 ) X 2
14kg = 4.5kg + ( 1 + 1.25 + 2.5 ) X 2
15kg = 4.5kg + ( 0.5 + 1 + 1.25 + 2.5 ) X 2
15kg = 4.5kg + ( 0.25 + 5 ) X 2
16kg = 4.5kg + ( 0.25 + 0.5 + 5 ) X 2
17kg = 4.5kg + ( 1.25 + 5 ) X 2
17kg = 4.5kg + ( 0.25 + 1 + 5 ) X 2
18kg = 4.5kg + ( 0.5 + 1.25 + 5 ) X 2
18kg = 4.5kg + ( 0.25 + 0.5 + 1 + 5 ) X 2
19kg = 4.5kg + ( 1 + 1.25 + 5 ) X 2
20kg = 4.5kg + ( 0.5 + 1 + 1.25 + 5 ) X 2
20kg = 4.5kg + ( 0.25 + 2.5 + 5 ) X 2
21kg = 4.5kg + ( 0.25 + 0.5 + 2.5 + 5 ) X 2
22kg = 4.5kg + ( 1.25 + 2.5 + 5 ) X 2
22kg = 4.5kg + ( 0.25 + 1 + 2.5 + 5 ) X 2
23kg = 4.5kg + ( 0.5 + 1.25 + 2.5 + 5 ) X 2
23kg = 4.5kg + ( 0.25 + 0.5 + 1 + 2.5 + 5 ) X 2
24kg = 4.5kg + ( 1 + 1.25 + 2.5 + 5 ) X 2
25kg = 4.5kg + ( 0.5 + 1 + 1.25 + 2.5 + 5 ) X 2
운동기구 조회 링크
크라토스 파워리프팅 경량 저중량 크롬 원판 0.25kg (2개1세트) : 쿠스포츠
[쿠스포츠] 역도, 파워리프팅, 전문 리프터를 위한 쇼핑몰
brand.naver.com
크라토스 역도 경량 저중량 원판 바벨 0.5kg (2개1세트) : 쿠스포츠
[쿠스포츠] 역도, 파워리프팅, 전문 리프터를 위한 쇼핑몰
brand.naver.com
크라토스 무게조절 경량 아령봉 덤벨봉 조립아령 : 쿠스포츠
[쿠스포츠] 역도, 파워리프팅, 전문 리프터를 위한 쇼핑몰
brand.naver.com
블랙샤프트 중량바 역기봉 이지 컬바 스쿼트 바벨 벤치 올림픽 1800mm 2200 20kg : 제이드 피트니스
블랙샤프트 중량바 역기봉 이지 컬바 스쿼트 바벨 벤치 올림픽 1800mm 2200 20kg
smartstore.naver.com
엘리코 로드블 덤벨 5kg
상품결제정보 고액결제의 경우 안전을 위해 카드사에서 확인전화를 드릴 수도 있습니다. 확인과정에서 도난 카드의 사용이나 타인 명의의 주문등 정상적인 주문이 아니라고 판단될 경우 임의
taeinspoment.co.kr
가격 비교
5kg ~ 25kg 까지
양손으로
모두 보유 했을때 기준
https://www.ibesko.com/mall/index.php
베스코
브랜드관, PT/GX용품, 크로스핏용품, 정리대, 아령, 원판, 중량/경량봉, 가정용, 클럽용
www.ibesko.com
+추가 besko 제품 위주로 조합시
무게 범위가
5 ~ 27kg 까지 늘어나게 된다.
파이썬 코드
# 0.75 추가
plate = [0.25, 0.50, 0.75, 1.00, 1.25, 2.50, 5.00]
loadable = 5
# g 조합 추가
plate_combi = []
for a in [0, plate[0]]:
for b in [0, plate[1]]:
for c in [0, plate[2]]:
for d in [0, plate[3]]:
for e in [0, plate[4]]:
for f in [0, plate[5]]:
for g in [0, plate[6]]:
plate_combi.append([a,b,c,d,e,f,g])
for i in plate_combi:
print(i)
for target_weight in range(5,30+1):
hap = 0
for low_plate in plate_combi:
hap = sum(list(map(lambda x: x, low_plate)))
if(target_weight == loadable + hap * 2):
low_plate_list = ""
for i in low_plate:
if i == 0: continue
low_plate_list += f"{i} + "
print(f"{target_weight:2d}kg = {loadable}kg + ( {low_plate_list[:-2]}) X 2")
결과
5kg = 5kg + ( ) X 2
6kg = 5kg + ( 0.5 ) X 2
7kg = 5kg + ( 1.0 ) X 2
7kg = 5kg + ( 0.25 + 0.75 ) X 2
8kg = 5kg + ( 0.5 + 1.0 ) X 2
8kg = 5kg + ( 0.25 + 1.25 ) X 2
8kg = 5kg + ( 0.25 + 0.5 + 0.75 ) X 2
9kg = 5kg + ( 0.75 + 1.25 ) X 2
9kg = 5kg + ( 0.25 + 0.75 + 1.0 ) X 2
9kg = 5kg + ( 0.25 + 0.5 + 1.25 ) X 2
10kg = 5kg + ( 2.5 ) X 2
10kg = 5kg + ( 0.5 + 0.75 + 1.25 ) X 2
10kg = 5kg + ( 0.25 + 1.0 + 1.25 ) X 2
10kg = 5kg + ( 0.25 + 0.5 + 0.75 + 1.0 ) X 2
11kg = 5kg + ( 0.75 + 1.0 + 1.25 ) X 2
11kg = 5kg + ( 0.5 + 2.5 ) X 2
11kg = 5kg + ( 0.25 + 0.5 + 1.0 + 1.25 ) X 2
12kg = 5kg + ( 1.0 + 2.5 ) X 2
12kg = 5kg + ( 0.5 + 0.75 + 1.0 + 1.25 ) X 2
12kg = 5kg + ( 0.25 + 0.75 + 2.5 ) X 2
13kg = 5kg + ( 0.5 + 1.0 + 2.5 ) X 2
13kg = 5kg + ( 0.25 + 1.25 + 2.5 ) X 2
13kg = 5kg + ( 0.25 + 0.5 + 0.75 + 2.5 ) X 2
14kg = 5kg + ( 0.75 + 1.25 + 2.5 ) X 2
14kg = 5kg + ( 0.25 + 0.75 + 1.0 + 2.5 ) X 2
14kg = 5kg + ( 0.25 + 0.5 + 1.25 + 2.5 ) X 2
15kg = 5kg + ( 5.0 ) X 2
15kg = 5kg + ( 0.5 + 0.75 + 1.25 + 2.5 ) X 2
15kg = 5kg + ( 0.25 + 1.0 + 1.25 + 2.5 ) X 2
15kg = 5kg + ( 0.25 + 0.5 + 0.75 + 1.0 + 2.5 ) X 2
16kg = 5kg + ( 0.75 + 1.0 + 1.25 + 2.5 ) X 2
16kg = 5kg + ( 0.5 + 5.0 ) X 2
16kg = 5kg + ( 0.25 + 0.5 + 1.0 + 1.25 + 2.5 ) X 2
17kg = 5kg + ( 1.0 + 5.0 ) X 2
17kg = 5kg + ( 0.5 + 0.75 + 1.0 + 1.25 + 2.5 ) X 2
17kg = 5kg + ( 0.25 + 0.75 + 5.0 ) X 2
18kg = 5kg + ( 0.5 + 1.0 + 5.0 ) X 2
18kg = 5kg + ( 0.25 + 1.25 + 5.0 ) X 2
18kg = 5kg + ( 0.25 + 0.5 + 0.75 + 5.0 ) X 2
19kg = 5kg + ( 0.75 + 1.25 + 5.0 ) X 2
19kg = 5kg + ( 0.25 + 0.75 + 1.0 + 5.0 ) X 2
19kg = 5kg + ( 0.25 + 0.5 + 1.25 + 5.0 ) X 2
20kg = 5kg + ( 2.5 + 5.0 ) X 2
20kg = 5kg + ( 0.5 + 0.75 + 1.25 + 5.0 ) X 2
20kg = 5kg + ( 0.25 + 1.0 + 1.25 + 5.0 ) X 2
20kg = 5kg + ( 0.25 + 0.5 + 0.75 + 1.0 + 5.0 ) X 2
21kg = 5kg + ( 0.75 + 1.0 + 1.25 + 5.0 ) X 2
21kg = 5kg + ( 0.5 + 2.5 + 5.0 ) X 2
21kg = 5kg + ( 0.25 + 0.5 + 1.0 + 1.25 + 5.0 ) X 2
22kg = 5kg + ( 1.0 + 2.5 + 5.0 ) X 2
22kg = 5kg + ( 0.5 + 0.75 + 1.0 + 1.25 + 5.0 ) X 2
22kg = 5kg + ( 0.25 + 0.75 + 2.5 + 5.0 ) X 2
23kg = 5kg + ( 0.5 + 1.0 + 2.5 + 5.0 ) X 2
23kg = 5kg + ( 0.25 + 1.25 + 2.5 + 5.0 ) X 2
23kg = 5kg + ( 0.25 + 0.5 + 0.75 + 2.5 + 5.0 ) X 2
24kg = 5kg + ( 0.75 + 1.25 + 2.5 + 5.0 ) X 2
24kg = 5kg + ( 0.25 + 0.75 + 1.0 + 2.5 + 5.0 ) X 2
24kg = 5kg + ( 0.25 + 0.5 + 1.25 + 2.5 + 5.0 ) X 2
25kg = 5kg + ( 0.5 + 0.75 + 1.25 + 2.5 + 5.0 ) X 2
25kg = 5kg + ( 0.25 + 1.0 + 1.25 + 2.5 + 5.0 ) X 2
25kg = 5kg + ( 0.25 + 0.5 + 0.75 + 1.0 + 2.5 + 5.0 ) X 2
26kg = 5kg + ( 0.75 + 1.0 + 1.25 + 2.5 + 5.0 ) X 2
26kg = 5kg + ( 0.25 + 0.5 + 1.0 + 1.25 + 2.5 + 5.0 ) X 2
27kg = 5kg + ( 0.5 + 0.75 + 1.0 + 1.25 + 2.5 + 5.0 ) X 2