게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
파이썬 코딩 관련해서 질문드립니다.
게시물ID : programmer_23424짧은주소 복사하기
작성자 : 투투나
추천 : 0
조회수 : 2921회
댓글수 : 5개
등록시간 : 2024/01/08 09:49:06

제가 지인들과 롤 대회를 열었는데요, 


총 25명이 참가하는데, 팀간의 밸런스를 위해서 개인별로 실력에따라 점수를 배점하고 각팀의 점수 합계가 같게해서 대회를 진행하려고 합니다.

이렇게 팀을 구성할경우, 어떤팀이 가능한지 경우의 수를 좀 프로그래밍으로 돌려서 보고싶은데요,

먼저

from itertools import product
import os

players = [
    ('칼라디아', 5), ('채팅', 4), ('꾸이한끼', 4), ('썸바드헬미', 2.5), ('이중룡볼리베어', 2.5),
    ('평원로', 6), ('괄약근조이기', 5.5), ('아기천사', 4), ('주량5잔', 4), ('낭만주의', 3.5),
    ('권매끈', 5.5), ('띤딴보', 4), ('루제짱', 4), ('투투나', 4), ('크로라인', 4),
    ('리승준', 7), ('패럿빌', 7), ('크헤', 4.5), ('초보다난', 3.5), ('우빈장', 3.5),
    ('케리뭉', 2.5), ('롤악귀', 1.5), ('선하나', 1.5), ('추니클라스', 1.5), ('반만쥬', 0)
]
team_combinations = list(product(players[:5], players[5:10], players[10:15], players[15:20], players[20:]))

team_strs = [', '.join(f"{player[0]}({player[1]}점)" for player in team) 
             for team in team_combinations if sum(player[1] for player in team) == 19]

desktop_path = os.path.join(os.path.expanduser("~"), "desktop")
file_path = os.path.join(desktop_path, '경우의 수들.txt')

with open(file_path, 'w') as file:
    for i, team_str in enumerate(team_strs, start=1):
        file.write(f"팀 {i}: {team_str}\n")

이 코드를 파이썬에 입력했더니,
 

경우의수들.jpg

 

이런식으로 나오드라구여. 예전에 프로그래밍하던 친구가 대회 했을때는

 

원하는것.jpg

이렇게 모든 팀이 다 짜여진 경우의 수를 보여줬었거든여?
 
이런식으로 경우의수를 다 보여줄수있게 코드를 수정해주실수있는분 있나여?
 
챗gtp에 물어봐도 자꾸 저런식으로 안알려주고 팀을 라인상관없이 섞어버린다던지 조합을 한개만 알려준다던지 에러가 있는 코드를 알려준다던지 막 그러던데 능력자분들계시면 도움좀 꼭 부탁드립니다 ㅠㅠ
 
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호