Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 수업기록
- 주피터노트북그래프
- matplotlib
- 주피터노트북
- 파이썬데이터분석
- SQL수업
- 팀플기록
- 맷플롯립
- SQLSCOTT
- 파이썬데이터분석주피터노트북
- 주피터노트북데이터분석
- sql따라하기
- 주피터노트북판다스
- python데이터분석
- 파이썬
- sql연습
- 파이썬수업
- python수업
- 파이썬알고리즘
- 데이터분석시각화
- 판다스데이터분석
- SQL
- sql연습하기
- 파이썬크롤링
- 파이썬시각화
- 파이썬차트
- 주피터노트북맷플롯립
- Python
- python알고리즘
- 판다스그래프
Archives
- Today
- Total
IT_developers
Python 개념 및 실습 - 게임 본문
출력된 단어를 보고 사용자는 똑같이 타이핑 하는 프로그램만들기 == 한컴 타자연습
- data/word.txt 로드 한 후 단어들 섞기
- 섞은 단어들 중에서 하나를 뽑아서 화면에 출력
- 게임 시간 재기
- DB 기록하기
from datetime import datetime
import random
import time
import sqlite3
conn = sqlite3.connect("data/records.db", isolation_level=None)
cursor = conn.cursor()
# 테이블 생성
# autoincrement : id 값 자동 증가
sql = """ create table if not exists records
(id integer primary key autoincrement, cnt integer, record text, regdate text)
"""
cursor.execute(sql)
# data/word.txt 로드한 후 words 리스트에 단어들 붙여넣기
words = []
with open("data/word.txt", "r", encoding="utf-8") as f:
for w in f:
words.append(w.strip()) # 공백 제거 후
print(words) # word.txt에 들어 있는 단어 확인. 9000여개 들어있음
n = 1
input("Ready? Press Enter Key") # 사용자에게 시작 메세지
# 시작 시간
start = time.time() # 초 단위로 리턴(기준 날짜 1970-01-01 0:0:0이 지난 시간)
# 정답 개수
cnt = 0
while n <= 5: # 5문제 내기
# 리스트 속의 단어 섞기
random.shuffle(words)
# 임의의 단어 추출 : choice
q = random.choice(words)
print()
print("Question #{}".format(n))
# 문제(단어) 보여주기
print(q)
# 사용자로부터 입력 받기
x = input()
# 사용자의 입력값과 문제가 일치하는지 확인
# 일치한다면 Pass 글자 출력, 정답개수 추가
if x.strip() == q.strip(): # 공백 제거
print("Pass")
cnt += 1
# 일치하지 않는다면 Wrong 출력
else:
print("Wrong")
n += 1
# 종료시간
end = time.time()
et = end - start
et = format(et, ".2f")
# 게임하는데 걸린 시간 출력
print("게임 시간 : {}초, 정답개수:{}".format(et, cnt))
# 정답 개수가 4개 이상이면 합격, 아니면 불합격
if cnt >= 4:
print("합격")
else:
print("불합격")
# 기록 삽입(정답 개수, 시간, 오늘 날짜)
# 현재 시간
today = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
# insert
sql = "insert into records('cnt','record','regdate') values(?,?,?)"
cursor.execute(sql, (cnt, et, today))
데이터 베이스 열기 - records.db
데이터 보기에서 게임 결과 확인 가능
'Python' 카테고리의 다른 글
Python algorithm 개념 및 실습 - n 까지 합, 제곱 합 (0) | 2022.09.15 |
---|---|
Python algorithm 개념 및 실습 - 절댓값 구하기 (0) | 2022.09.15 |
Python 개념 및 실습 - 데이터베이스(2) (0) | 2022.09.14 |
Python 개념 및 실습 - 데이터베이스(1) (0) | 2022.09.13 |
Python 개념 및 실습 - 예외 (0) | 2022.09.13 |
Comments