먼저 참가자가 필요하죠. 참가자는 다음처럼 리스트로 만들어 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가 발생하지 않습니다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.