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
블로그 인기글
유튜브 영상 등의 URL 주소를 QR코드로 만들기
네이버 QR코드, makeQR, MUST QRcode, 무료 온라인 QRCode 생성기 등의 웹사이트에서 유튜브 영상 등의 URL을 입력하여 QR코드를 만들 수 있다. QR코드를 생성할 수 있는 사이트와 프로그램 URL 주소를 붙여넣기 한 후 "QR 코드 생성" 버튼을 클릭하면 큐알코드가 이미지로 생성되고, 다운로드도 할 수 있는 사이트 https://truedoum.com/useful/qrcode/ # 유튜브에서 동영상 URL을 복사하는 방법 유튜브에서 QR코드를 만들 동영상을 검색한다. 해당 동영상을 클릭한다. 동영상 위에서 마우스 우클릭 후 나오는 팝업창에서 “동영상 URL 복사”를 클릭하거나 영상 하단의 “공유”를 클릭하여 나온 창에서 URL를 복사한다. 아래의 웹사이트 중 하나를 선택한 후 복사..
goodthings4me.tistory.com
[엑셀] 근무연수 및 근무 개월수 계산하는 함수
직장을 다니다 보면 몇 년 몇 개월 또는 전체 며칠을 다니고 있는지 궁금할 때가 있다. 아니면, 총무나 인사 일을 할 때 직원들의 근속연수 또는 근속개월수 등을 계산하고 싶을 때도 있다. 이런 경우 엑셀 함수를 활용하면 어떨까!! 근무연수 및 근무 개월수 계산 함수 알아보기 엑셀에서 근무연수 또는 근무 개월수 계산하는 것은 datedif() 함수를 사용하면 간단하게 해결할 수 있다. 아래 이미지를 보면서 설명하면, 셀 E1에 기준일자를 입력하고, 근무연수를 구할 때는 =datedif(B3,$E$1,"Y")&"년" 을 입력한다. 근무개월수는 =datedif(B3,$E$1,"M")&"개월" 처럼 입력한다. 일수까지 파악할 때문 별로 없지만, 심심풀이로 구해보고 싶을 때 =datedif(B3,$E$1,"D")..
goodthings4me.tistory.com
엑셀 시트 분리 저장 - 엑셀 파일의 시트를 분리하여 저장하기
엑셀을 사용하다 보면 엑셀 시트를 분리해서 저장해야 할 때가 있다. 최근에도 이런 경우가 발생하여 구글링 후 엑셀 시트 분리 업무를 수행하고 내친김에 다른 사람들도 사용할 수 있도록 파이썬 tkinter로 프로그램으로 만들어 보았다. Excel Sheets 분리 저장하는 프로그램(with 파이썬 Tkinter) ※ 프로그램 다운로드(네이버 MYBOX에서 공유) : ExcelSeparateSheets.zip ▶ 프래그램을 실행하면 다음과 같이 초기 화면이 보인다. 찾아보기 : 엑셀 파일이 있는 폴더를 선택한다. (프로그램이 있는 최상위 디렉터리가 열린다) 실행하기 : 프로그램 실행 버튼 상태 변경 순서 : 실행전 → 실행 중 → Sheet "OOO" 분리 저장 중 → 실행 완료 실행 결과 확인 : 엑셀 파..
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 |
댓글