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%
◎ 구구단 게임 GUI 프로그램

- tkinter로 구현해본 프로그램
- 시작단수와 끝단수는 구구단의 범위(2단 ~ 19단)를 설정함
- 게임수는 진행할 게임수 설정
- 제한시간은 구구단 답을 입력하는 시간을 제한함(입력 시간 초과 시 오답으로 처리)
- 게임 설정을 한 후 '게임 시작' 버튼을 클릭하고 하단에 나오는 구구단에 대해 입력 후 키보드 Enter 키를 누르거나 마우스로 'Enter' 버튼을 클릭함
- 하단 회색 부분에 정답, 오답이 표시되고, 설정된 게임수를 모두 진행하면 회색 부분에 게임 결과가 표시됨
가위바위보 게임 [파이썬기초예제]
rock-paper-scissors 우리말로 가위바위보 게임 (또는 묵찌빠 게임)을 파이썬으로 짜보았다. 터미널 기반에서 실행이 되는 버전을 먼저 코딩하고, 이어서 tkinter 기반으로로 만들어 볼 생각이다. 파이
goodthings4me.tistory.com
블로그 인기글
Windows 10 탐색기 느려지는 증상과 해결하는 방법
잘 작동하던 Windows 10 탐색기가 갑자기 느려지는 증상이 발생했을 때 어떻게 조치를 하는지 구글에서 찾아보니 많은 해결책들이 있었으나 어떤 것이 정확한 해결책인지는 알 수가 없었다. 그래서 해결방법이라고 제시한 것들을 정리해 보았다. 윈도우 탐색기가 느려지는 증상 해결 방법 어느 순간부터 응용프로그램(VS Code 등)에서 폴더 열기나 파일 불러오기를 했을 때 검색 팝업창이 안 뜨거나 열리는 시간이 엄청 느려지는 증상과, 더불어서 탐색기도 실행이 많이 느려지는 증상이 있었다. 기존에 사용하던 VS Code에 openpyxl 설치 후 실행이 느려지는 증상이 발생하더니 윈도우10 탐색기도 느려져서 사용할 수가 없었다. 노트북에 OS(Windows10)를 설치한지 1년이 다 되어가긴 했지만, 1개월 전..
goodthings4me.tistory.com
엑셀 시트 분리 저장 - 엑셀 파일의 시트를 분리하여 저장하기
엑셀을 사용하다 보면 엑셀 시트를 분리해서 저장해야 할 때가 있다. 최근에도 이런 경우가 발생하여 구글링 후 엑셀 시트 분리 업무를 수행하고 내친김에 다른 사람들도 사용할 수 있도록 파이썬 tkinter로 프로그램으로 만들어 보았다. Excel Sheets 분리 저장하는 프로그램(with 파이썬 Tkinter) ※ 프로그램 다운로드(네이버 MYBOX에서 공유) : ExcelSeparateSheets.zip ▶ 프래그램을 실행하면 다음과 같이 초기 화면이 보인다. 찾아보기 : 엑셀 파일이 있는 폴더를 선택한다. (프로그램이 있는 최상위 디렉터리가 열린다) 실행하기 : 프로그램 실행 버튼 상태 변경 순서 : 실행전 → 실행 중 → Sheet "OOO" 분리 저장 중 → 실행 완료 실행 결과 확인 : 엑셀 파..
goodthings4me.tistory.com
[엑셀] 근무연수 및 근무 개월수 계산하는 함수
직장을 다니다 보면 몇 년 몇 개월 또는 전체 며칠을 다니고 있는지 궁금할 때가 있다. 아니면, 총무나 인사 일을 할 때 직원들의 근속연수 또는 근속개월수 등을 계산하고 싶을 때도 있다. 이런 경우 엑셀 함수를 활용하면 어떨까!! 근무연수 및 근무 개월수 계산 함수 알아보기 엑셀에서 근무연수 또는 근무 개월수 계산하는 것은 datedif() 함수를 사용하면 간단하게 해결할 수 있다. 아래 이미지를 보면서 설명하면, 셀 E1에 기준일자를 입력하고, 근무연수를 구할 때는 =datedif(B3,$E$1,"Y")&"년" 을 입력한다. 근무개월수는 =datedif(B3,$E$1,"M")&"개월" 처럼 입력한다. 일수까지 파악할 때문 별로 없지만, 심심풀이로 구해보고 싶을 때 =datedif(B3,$E$1,"D")..
goodthings4me.tistory.com
'코딩 연습 > 파이썬 기초(예제)' 카테고리의 다른 글
판매 데이터 파일(텍스트) 읽고 계산한 후 결과를 저장하기 (0) | 2022.05.09 |
---|---|
파이썬 while문 isdecimal(), isdigit(), isnumeric() 활용하기 (0) | 2022.05.04 |
진수 변환 - 2진수 변환, 8진수 변환, 16진수 변환 [파이썬기초예제] (0) | 2022.04.23 |
가위바위보 게임 [파이썬기초예제] (0) | 2022.04.21 |
bmi 계산하기 - 한국인의 체질량 지수 계산 [파이썬기초예제] (0) | 2022.04.20 |
댓글