파이썬 리스트의 요소 판별하기(최소/최대)
파이썬을 사용하여 두 팀의 레벨 관리하기
게임 개발이나 팀 관리에서 각 팀원의 레벨을 관리하는 것은 매우 중요합니다. 이를 통해 팀의 역량을 파악하고 적합한 전략을 세울 수 있습니다. 이번 글에서는 두 팀의 게임 레벨을 입력받아 리스트로 만들고, 각 팀의 최고 및 최저 레벨을 구하는 방법을 파이썬으로 알아보겠습니다.
파이썬 map 함수와 리스트 만들기
파이썬의 map 함수는 반복 가능한 객체의 각 요소에 함수를 적용하여 새로운 결과를 생성합니다. 이를 통해 입력 값을 리스트로 쉽게 변환할 수 있습니다. 다음은 두 팀의 레벨을 입력받아 리스트로 만드는 예제입니다.
# 두 팀의 레벨을 리스트로 변환
blue_team_levels = list(map(int, "10 20 30 40 50".split()))
red_team_levels = list(map(int, "15 25 35 45 55".split()))
print("청팀 레벨:", blue_team_levels)
print("홍팀 레벨:", red_team_levels)실행 결과
청팀 레벨: [10, 20, 30, 40, 50]
홍팀 레벨: [15, 25, 35, 45, 55]
위 코드에서는 map 함수를 사용하여 문자열로 된 레벨 값을 정수로 변환한 후, 이를 리스트로 만들었습니다. split 함수는 공백을 기준으로 문자열을 나누어 줍니다.
초급 단계: 각 팀의 최고와 최저 레벨 출력
이제 각 팀의 최고 및 최저 레벨을 출력하는 방법을 살펴보겠습니다. min과 max 함수를 사용하여 쉽게 이를 구할 수 있습니다.
# 각 팀의 최고 및 최저 레벨 찾기
blue_team_max = max(blue_team_levels)
blue_team_min = min(blue_team_levels)
red_team_max = max(red_team_levels)
red_team_min = min(red_team_levels)
print("청팀 최고 레벨:", blue_team_max)
print("청팀 최저 레벨:", blue_team_min)
print("홍팀 최고 레벨:", red_team_max)
print("홍팀 최저 레벨:", red_team_min)
이 코드는 각각의 팀 리스트에서 최고와 최저 레벨을 찾아 출력합니다. max 함수는 리스트에서 가장 큰 값을, min 함수는 가장 작은 값을 반환합니다.
중급 단계: 조건문과 반복문을 활용한 실용 예제
이번에는 조건문과 반복문을 활용하여 여러 명의 레벨을 입력받고, 각 팀의 최고 및 최저 레벨을 구하는 프로그램을 만들어 봅시다.
# 사용자 입력을 통해 레벨 리스트 생성
blue_team_levels = []
red_team_levels = []
# 가정: 입력이 이미 확보된 상태로, 직접 사용
input_data_blue = "10 20 30 40 50"
input_data_red = "15 25 35 45 55"
# 청팀 레벨 입력받기
for level in map(int, input_data_blue.split()):
blue_team_levels.append(level)
# 홍팀 레벨 입력받기
for level in map(int, input_data_red.split()):
red_team_levels.append(level)
# 최고 및 최저 레벨 찾기
print("청팀 최고 레벨:", max(blue_team_levels))
print("청팀 최저 레벨:", min(blue_team_levels))
print("홍팀 최고 레벨:", max(red_team_levels))
print("홍팀 최저 레벨:", min(red_team_levels))실행 결과
청팀 최고 레벨: 50
청팀 최저 레벨: 10
홍팀 최고 레벨: 55
홍팀 최저 레벨: 15
위 코드는 직접 반복문을 사용하여 입력된 데이터로부터 리스트를 만들고, 각각의 최고 및 최저 레벨을 출력하는 예제입니다.
상급 단계: 함수와 클래스를 이용한 코드 개선
함수와 클래스를 사용하면 코드의 재사용성과 가독성을 높일 수 있습니다. 다음은 이를 활용하여 코드 구조를 개선한 예제입니다.
class Team:
def __init__(self, name, levels):
self.name = name
self.levels = levels
def get_max_level(self):
return max(self.levels)
def get_min_level(self):
return min(self.levels)
# 팀 객체 생성
blue_team = Team("청팀", list(map(int, "10 20 30 40 50".split())))
red_team = Team("홍팀", list(map(int, "15 25 35 45 55".split())))
# 결과 출력
print(f"{blue_team.name} 최고 레벨: {blue_team.get_max_level()}")
print(f"{blue_team.name} 최저 레벨: {blue_team.get_min_level()}")
print(f"{red_team.name} 최고 레벨: {red_team.get_max_level()}")
print(f"{red_team.name} 최저 레벨: {red_team.get_min_level()}")실행 결과
청팀 최고 레벨: 50
청팀 최저 레벨: 10
홍팀 최고 레벨: 55
홍팀 최저 레벨: 15
이 코드는 Team 클래스를 정의하여 각 팀의 레벨을 관리하고, get_max_level과 get_min_level 메서드를 제공하여 각 팀의 최고 및 최저 레벨을 쉽게 구할 수 있도록 합니다.
요약
이번 글에서는 파이썬을 이용하여 두 팀의 게임 레벨을 관리하는 방법을 단계별로 살펴보았습니다. 초급 단계에서는 기본적인 리스트와 map 함수 사용법을 익혔고, 중급 단계에서는 조건문과 반복문을 결합하여 실용적인 프로그램을 작성했습니다. 마지막으로, 상급 단계에서는 함수와 클래스를 이용하여 코드의 구조를 개선하였습니다.
#파이썬초급 #Python기초 #코딩독학 #프로그래밍기초 #map함수 #게임레벨관리 #리스트처리 #초급코딩 #파이썬튜토리얼 #함수와클래스