1. 끝말잇기
텍스트 파일을 다루는 방법을 배워봤다.
txt 파일을 파이썬 파일과 같은 곳에 두면 텍스트 파일의 내용을 사용할 수 있다!
# 끝말잇기 게임
import random
words = open('korean_words.txt', encoding='utf-8').read().split()
# txt 파일에는 1805개의 단어가 들어있다
def isOkay(word): # 두음 법칙을 고려(?)했다
s1 = '냥녀뇨니라락란래량려렷로론뢰료루류륜리'
s2 = '양여요이나낙난내양여엿노논뇌요누유윤이'
tt = str.maketrans(s1, s2)
return word[-1:].translate(tt)
def game():
start = random.choice(words) # 상대가 먼저 시작
words.remove(start) # 한 번 사용한 단어 사용 불가
print(f'start : {start}')
myWord = [] # 나도 중복 단어 사용 불가
while True:
conti = False
next = input() # 내가 입력한 단어
# 내가 말한 단어가 끝말잇기 규칙에 어긋나는 경우
if start[-1:] != next[0] and isOkay(start) != next[0]:
print(f'{next}?ㅋㅋㅋㅋㅋㅋ You Lose')
break
else:
for s in myWord:
# 중복 단어를 말한 경우
if s == next:
print(f'{next}?ㅋㅋㅋㅋㅋㅋㅋ You Lose')
break
myWord.append(next)
for s in words:
if next[-1:] == s[0] or isOkay(next) == s[0]:
start = s
print(start)
words.remove(start)
# 상대가 다음 끝말잇기에 성공한 경우 continue
conti = True
break
# 상대가 말할 단어가 없는 경우
if not conti:
print('내가 졌따...')
break
game()
2. 영어 퀴즈
번외로 영어 문장 퀴즈도 있다.
ko_en.txt 파일에는 아래와 같이 한글 문장과 영어 문장이 /t을 사이에 두고 구분되어있다.
<나는 학생이다. I am a student.
그녀는 내 언니이다. She is my sister.>
나에게 한글 문장을 물어봤을 떄, 내가 올바르게 번역하면 okay, 틀렸다면 '틀렸어!'를 말해주는 퀴즈이다. ㅋㅋㅋ
import random
sentences = open('ko_en.txt', encoding='utf-8').read().split('\n')
del sentences[0]
dic = dict()
for sen in sentences:
ko, en = sen.split('\t')
dic[ko] = en
def letsQuiz():
quiz = random.choice(list(dic.keys()))
print(quiz)
ans = input()
if ans != dic[quiz]:
print("Wrong answer")
else:
print("Good!")
letsQuiz()
'파슬리(Python)' 카테고리의 다른 글
[Python] [1] 람다(lambda) (0) | 2023.12.28 |
---|