본문 바로가기
코딩 연습/파이썬 기초(예제)

구구단 게임 [파이썬기초예제]

by good4me 2022. 4. 28.

goodthings4me.tistory.com

파이썬 기초 예제로 구구단을 게임으로 만들어보는 코딩 연습임. 구구단 게임 함수의 매개변수로 구구단 단수와 답변 제한 시간(초)을 넘겨주면 실행 게임수를 입력받아 설정하고 랜덤 하게 구구단 문제를 출력해준다.   

 

 

구구단 게임 코딩 연습

※ 글 마지막 부분에 GUI 프로그램 다운로드 버튼 있음 

[파이썬 소스 코드]

def game_gugdan(dans, game_time):
    print(f'\n{"="*10} 구구단 게임 {"="*10}\n')
    games = '0'
    while games == '0' or not games.isdecimal():
        games = input('\n몇 게임 할까요? : ')

    games = int(games)  # 실행 게임수 설정
    game_cnt = 0  # 진행 게임수
    correct_cnt = 0  # 맞은 게임수
    incorrect_cnt = 0  # 틀린 게임수
    g_time = game_time  # 제한시간(초) 설정

    while True:
        dan = random.randint(2, dans)
        number = random.randint(2, 9)

        if game_cnt == games:
            print(f'\n총 {games}게임 중\n맞은 게임수: {correct_cnt}\n틀린 게임수: {incorrect_cnt}\n정확도: {(correct_cnt/games)*100:.1f}%')
            break

        start = time.time()
        answer = input(f'\n#{game_cnt + 1} 게임: {dan} X {number} = ')
        end = time.time()
        # print(f'{start} - {end} = {end - start}')

        if not answer.isdigit():
            incorrect_cnt += 1
            print('오입력, 틀렸습니다!')
        elif (end - start) > g_time:
            incorrect_cnt += 1
            print(f'입력 시간 {g_time}초 경과로 오답 처리합니다.')
        elif int(answer) == (dan * number):
            correct_cnt += 1
            print('맞았습니다!')
        else:
            incorrect_cnt += 1
            print('틀렸습니다!')
        
        game_cnt += 1


dans = 9  # 단수 (9 ~ 19)
game_time = 5  # 응답 시간 제한(초) 
game_gugdan(dans, game_time)
  • 실행 게임수를 입력받아 설정하고,
  • random 함수로 단수와 숫자를 임의를 추출하여 문제를 만든다.
  • 입력 시간(매개변수 설정 시간(초))이 초과하면 시간 경과로 오답 처리하고,
  • 정수가 아닌 답은 오입력으로 오답 처리한다.
  • 실행 게임수를 모두 진행하면 맞은 게임수와 틀린 게임수, 그리고 정답의 정확도를 출력한다.

※ 실행 게임수를 입력받는 while 반복문에 대해 다음과 같이 예외 처리로도 만들 수 있다.

    games = 0  # 게임수 설정
    while True:
        try:
            games = int(input('\n몇 게임을 할까요? > '))
            if games <= 0:
                continue
        except:
            continue
        break

 

 

[실행 결과]

========== 구구단 게임 ==========


몇 게임 할까요? : 5

#1 게임: 4 X 2 = 8
맞았습니다!      

#2 게임: 5 X 8 = 40
맞았습니다!      

#3 게임: 8 X 4 = 35
틀렸습니다!      

#4 게임: 9 X 2 = 18
입력 시간 5초 경과로 오답 처리합니다.

#5 게임: 8 X 8 = 66
입력 시간 5초 경과로 오답 처리합니다.

총 5게임 중
맞은 게임수: 2
틀린 게임수: 3
정확도: 40.0%

 

 

good4me.co.kr

 

 

구구단 게임 GUI 프로그램

구구단 게임 프로그램
구구단 게임 프로그램

  • tkinter로 구현해본 프로그램
  • 시작단수와 끝단수는 구구단의 범위(2단 ~ 19단)를 설정함
  • 게임수는 진행할 게임수 설정
  • 제한시간은 구구단 답을 입력하는 시간을 제한함(입력 시간 초과 시 오답으로 처리)
  • 게임 설정을 한 후 '게임 시작' 버튼을 클릭하고 하단에 나오는 구구단에 대해 입력 후 키보드 Enter 키를 누르거나 마우스로 'Enter' 버튼을 클릭함
  • 하단 회색 부분에 정답, 오답이 표시되고, 설정된 게임수를 모두 진행하면 회색 부분에 게임 결과가 표시됨

프로그램 다운로드

 

 

 

 

가위바위보 게임 [파이썬기초예제]

rock-paper-scissors 우리말로 가위바위보 게임 (또는 묵찌빠 게임)을 파이썬으로 짜보았다. 터미널 기반에서 실행이 되는 버전을 먼저 코딩하고, 이어서 tkinter 기반으로로 만들어 볼 생각이다. 파이

goodthings4me.tistory.com

 

 

댓글