-
Notifications
You must be signed in to change notification settings - Fork 0
/
sphinx.py
64 lines (48 loc) · 2.83 KB
/
sphinx.py
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import random
import time
def call_sphinx():
quiz = ['sophisticated', 'formerly', 'sophistication', 'conveniently', 'consecutive', 'convenient', 'consecutively', 'increase', 'quality', 'decrease', 'completely', 'consistency', 'complete', 'inconsistency', 'completion', 'enhance', 'information', 'establish', 'deliberation', 'estimate', 'impressive', 'renovate', 'impression', 'renovation', 'trensfer', 'arise', 'reduce', 'recommend', 'beware', 'recommendation', 'innate', 'collateral', 'restore', 'personality', 'necessary', 'appearance', 'health', 'certain', 'healthy', 'uncertain', 'delicate', 'excessive', 'disturb', 'exceed', 'speculate', 'excellent',
'speculation', 'delegate', 'scenery', 'direct', 'consist', 'direction', 'consistent', 'circumscribe', 'deficit', 'prohibit', 'symptom', 'prohibition', 'budget', 'innovate', 'preserve', 'innovation', 'calculate', 'safety', 'calculation', 'produce', 'assent', 'production', 'significant', 'refuse', 'exhibit', 'expend', 'exhibition', 'require', 'assert', 'contribute', 'competent', 'coordinate', 'incompetent', 'coordination', 'insurance', 'instruct', 'mandatory', 'instruction', 'frequently', 'amend', 'frequency', 'inquire', 'retire', 'occupy', 'retirement', 'garner', 'pedestrian', 'monetary', 'abuse', 'financial']
# 랜덤 뽑기 choice
word = random.choice(quiz)
# 유저가 입력하는 문자열
answer = ''
# 기회
count = 18
print_writting = '_'*(len(word))
time.sleep(1)
print('스핑크스가 출현했습니다.')
time.sleep(1.5)
print(f'스핑크스가 내는 문제를 맞추세요.')
time.sleep(1)
while count > 0:
time.sleep(0.5)
print(f'기회는 {count}번 남았습니다.')
if answer == '':
user_put = input(print_writting).lower()
for w in list(word): # 처음에는 answer에 문자열 다 넣기
if w == user_put:
answer += w
else:
answer += '_'
else:
time.sleep(0.5)
user_put = input(answer).lower()
for idx, w in enumerate(list(word)): # 두 번째 부터 정답인 문자만 교체
if w == user_put:
a = list(answer) #
a[idx] = w
answer = ''.join(a)
count -= 1
# 리스트 인덱스 값과 상관없이 같은 문자를 가지면 종료
if sorted(answer) == sorted(word):
print(f'{answer} 정답입니다.')
break
# 기회 안에 못 풀면 빠꾸시키기
if count == 0:
print('틀렸어요')
return
# 에러
# TypeError: 'str' object does not support item assignment
# 임의의 문자열 print_writting의 인덱스로 w 문자열 삽입이 안됨
# print_writting 값을 변화주는게 어려웠음