반응형
심심해서 간단한 방식으로 랜덤 팀 생성기를 만들어 보았습니다. 팀의 수(행)와 인원 수(열)를 입력 받은 후 인원 수 만큼 사람의 이름을 입력 받고 랜덤하게 팀을 짜주는 간단한 코드입니다. 파이썬으로 구현해보았습니다.
import random
# 랜덤 팀 생성기
# 행(row) 열(col) 행은 팀의 수, 열은 팀당 인원 수
col, row = map(int, input("몇 팀을 만드시겠습니까? / 몇 명을 한 팀으로 만드시겠습니까?\n공백을 기준으로 입력하여 주세요.ex) 3 4 (4명씩 3팀)\n").split())
# 리스트 컴프리헨션을 사용하여 0으로 초기화
team = [[0] * row for _ in range(col)]
# 인원들의 이름을 공백 기준으로 입력 받음
name = list(input("인원들을 공백을 기준으로 입력하여 주세요.\nex)수피치 어피치 라이언 ...\n").split())
# name(인원들의 이름)수가 col * row(인원들의 수)와 다르다면(크거나 작거나)
# 인원들의 수와 인원들의 이름의 수가 일치할 때 까지 입력 받음
# out을 입력하면 프로그램 종료
while len(name) != col * row :
name = list(input("인원수가 잘못 되었습니다. 인원들의 이름을 공백을 기준으로 다시 입력해주세요\n취소하고 싶으시다면 out을 입력하여주세요\n").split())
if(name == ["out"]):
quit()
# 반복문을 사용하여 랜덤한 인덱스를 뽑아
# 순차적으로 team에 한명씩 넣고 그 인덱스는 삭제하여
# 중복처리되지 않게 함.
for i in range(col) :
for j in range(row) :
x = random.randrange(0, len(name))
team[i][j] = name[x]
name.pop(x)
# 결과 출력!
for i in range(col) :
print(str(i+1) + "번팀 " + str(team[i]))
실행 결과
- 인원의 수가 일치할 때
- 인원의 수가 일치하지 않을 때
반응형
'파이썬[Python]' 카테고리의 다른 글
파이썬[Python] 배열에서 원하는 값의 위치 찾는 법(index() 함수) (0) | 2022.02.11 |
---|---|
파이썬[Python] 문자열 인덱싱(Indexing)과 슬라이싱(Slicing) (0) | 2022.01.29 |
파이썬[Python] 기준을 정하여 정렬하기( with key=lambda) (0) | 2022.01.19 |
파이썬[Python] sort()와 sorted()의 차이 (0) | 2022.01.16 |
파이썬[Python] 리스트 내의 요소의 개수 구하기 / 리스트 내의 특정 요소의 개수 구하기 (0) | 2022.01.13 |
최근댓글