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
- 구구단
- range retention
- 특정값 추출
- 조건인덱싱
- 함컴타자연습
- classic retention
- R실습
- 문자열함수
- 파이썬예제
- 데이터프레임조회
- r연습문제
- java
- Python
- 웹크롤링
- rolling retention
- 파이썬 야구게임
- requests 모듈
- R기초
- 웹크롤링 예제
- 파이썬
- 웹크롤링 실습
- pandas
- 데이터프레임 정보 조회
- 야구게임 코드
- 프로그래머스 풀이
- 타자연습파이썬
- 문자열reverse
- 피처벡터화
- 네이버웹툰크롤링
- R
Archives
- Today
- Total
서비스 기획자의 성장기록
[Python 실습] 타자 프로그램 만들기: time 모듈 활용 본문
[문제]
애국가 1절을 각 소절마다 타이핑하여 정확도와 타자 속도를 출력한다.
[풀이]
import time
text = ['동해물과 백두산이 마르고 닳도록', '하느님이 보우하사 우리나라 만세', '무궁화 삼천리 화려강산', '대한사람 대한으로 길이 보전하세']
speed_sum = 0
accuracy_sum = 0
for i in range(len(text)):
print(f'({i+1}/4)')
print(text[i])
start = time.time()
input_text = input()
end = time.time()
correct = 0
for k, item in enumerate(input_text):
if text[i][k] == item:
correct += 1
speed_in_min = len(text[i])/(end-start)*60
accuracy = correct / len(text[i]) * 100
speed_sum += speed_in_min
accuracy_sum += accuracy
print(f'타자속도: {speed_in_min:.0f}타/분, 정확도: {accuracy:.2f}%')
# 전체 평균
print('='*10, '타자 결과', '='*10)
total_speed = speed_sum / 4
total_accuracy = accuracy_sum / 4
print(f'평균 타자속도: {total_speed:.0f}타/분')
print(f'평균 정확도: {total_accuracy:.2f}%')
[교수님 풀이]
import time
sentence = ['동해물과 백두산이 마르고 닳도록',
'하느님이 보우하사 우리나라 만세',
'무궁화 삼천리 화려강산',
'대한사람 대한으로 길이 보전하세']
sumOfTypeSpeed = 0
sumOfAccuracy = 0
for i, s in enumerate(sentence, start=1): # enumerate() -> (index, value)을 반환
print(f'{i}/{len(sentence)}')
print(s)
start = time.time()
input_text = input()
end = time.time()
# 정확도: 상응하는 위치의 문자열을 비교
hitCount = 0
for original_char, input_char in zip(s, input_text):
if original_char == input_char: hitCount += 1
typeSpeed = (len(input_text)*60) / (end-start) # 입력 글자수 * 60초 / 입력 소요시간 (초)
accuracy = hitCount / len(s) * 100 # 원문과 일치한 글자 수 / 원문 글자 수 * 100
print(f'타자속도: {typeSpeed:.0f}타/분, 정확도: {accuracy:.0f}%')
print()
sumOfTypeSpeed += typeSpeed
sumOfAccuracy += accuracy
print('='*30)
print(' 타자결과')
print('='*30)
print(f'평균 타자속도: {sumOfTypeSpeed/len(sentence):.0f}타/분, 평균 정확도: {sumOfAccuracy/len(sentence):.0f}')
[결과]
'Python > Python 실습' 카테고리의 다른 글
[Python 실습] 야구게임 만들기 (0) | 2023.10.30 |
---|---|
[Python 실습] 성적처리 프로그램 (0) | 2023.10.25 |
[Python 실습] 윤년계산 (0) | 2023.10.19 |
[Python 실습] 구구단 출력하기 (0) | 2023.10.19 |