먼저 참가자가 필요하죠. 참가자는 다음처럼 리스트로 만들어 players에 넣어 줍니다. 그리고 프로그램 전역에서 사용해야 하므로 함수 외부에 정의합니다.
players = ['까치', '강아지', '토끼', '고양이', '참새']
다음으로 필요한 함수를 작성합니다. 프로그램에 필요한 기능은 크게 두 가지입니다. 참가자 이름과 횟수를 외쳤을 때 횟수만큼 이름을 반복해서 출력하는 기능과, 이름과 횟수 중 하나라도 틀렸을 때 틀렸다는 것을 알려 주는 기능입니다. 두 기능을 각각 game_play()와 wrong_play() 함수로 다음과 같이 구현합니다.
def game_play(name, cnt):
print(name * cnt)
def wrong_play(name, cnt):
if name not in players:
print(name, '은/는 없는 이름입니다!')
return -1
if cnt < 1 or cnt > 4:
print('1~4의 숫자만 가능합니다! 입력한 숫자', cnt)
return -1
game_play() 함수는 2개의 매개변수로 이름과 횟수를 전달받아 횟수만큼 이름을 출력합니다. wrong_play() 함수 역시 2개의 매개변수로 이름과 횟수를 전달받습니다. 그리고 벌칙을 받아야 하는 상황일 때 즉, 입력받은 이름(name)이 참가자 리스트에 없거나 횟수(cnt)가 1~4의 숫자가 아닐 때는 -1을 반환하고 함수를 종료합니다. players는 전역변수지만, 함수 내부에서 players의 값은 변경이 없으므로 UnboundLocalError가 발생하지 않습니다.