728x90
random 모듈은 파이썬 예제에서 자주 활용되는 모듈 중 하나이다. 이외에도 time 모듈이 있는데, 두 가지 모듈과 choice() 함수를 활용하여 타자를 입력받는 데 걸린 총 시간을 계산하는 프로그램을 만들어 보자.
import random
import time
w = ['cat', 'dog', 'fox', 'monkey', 'panda', 'frog', 'snake']
n = 1 # 통과한 문제 개수
print("타자게임이 준비되면 enter를 치세요.")
input()
startTime = time.time()
q = random.choice(w)
while n <= 5: # 5문제를 맞힐때까지 지속함
print("*문제", n)
print(q)
x = input()
if q == x:
print("[통과!]")
n = n+1
q = random.choice(w)
else:
print("[오타! 다시도전]")
endtime = time.time()
et = endtime - startTime
et = format(et, ".2f")
print("타자시간:", et, "초")
사용자로부터 입력받은 input을 x로 두고, 이것이 word의 스펠링과 정확히 일치하면 통과 후 다음 랜덤 단어를 띄운다. 미통과 시에는 통과할 때까지 반복하는 로직을 구현하였다. 5문제를 통과하는 데 걸리는 시간을 기준으로, input 시작시점 부터 while 문을 빠져나간 시점에 각각 time.time을 활용해 시작과 종료시간을 계산하였다.
(참고) choice() 함수
choice 함수는 인자로 순회하는 것이면 모두 받을 수 있다.(튜플, 문자열, 집합, 딕셔너리) 다만, 집합과 딕셔너리는 그 형을 리스트로 먼저 변환한 다음 choice 함수를 적용해야 에러가 나지 않는다.
import random
# 튜플
my_tuple = (1, 2, 3, 4, 5)
random_element1 = random.choice(my_tuple)
print(random_element1) #4
# 문자열
my_string = "hello, world"
random_char = random.choice(my_string)
print(random_char) #w
# 집합과 딕셔너리는 list 형식으로 먼저 바꾸고 실행
# 집합
my_set = {10, 20, 30, 40, 50}
random_element = random.choice(list(my_set))
print(random_element) # 10
# 딕셔너리
my_dic = {'a': 10, 'b': 20, 'c': 30, 'd': 40, 'e': 50}
random_element2 = random.choice(list(my_dic.keys()))
print(random_element2) # d
728x90
반응형
'Python' 카테고리의 다른 글
[파이썬] 딕셔너리의 key와 value를 조회하는 2가지 방법 (0) | 2023.10.20 |
---|---|
[파이썬] 리스트 함수 - append(), extend(), insert(), pop(),clear(), sort(), sum() (0) | 2023.10.20 |
[파이썬] for in을 활용해 회문 판별하기 (1) | 2023.10.20 |
[파이썬] enumerate와 args 사용하기 (0) | 2023.10.20 |
[파이썬] 간단한 계산기 만들기 예제 구현하기 (0) | 2023.10.18 |