In [1]:
import random
def win():
print(
'''
======恭喜你,你赢了=======
."". ."",
| | / /
| | / /
| | / /
| |/ ;-._
} ` _/ / ;
| /` ) / /
| / /_/\_/\
|/ / |
( ' \ '- |
\ `. /
| |
| |
======恭喜你,你赢了=======
'''
)
def lose():
print(
'''
======YOU LOSE=======
.-" "-.
/ \
| |
|, .-. .-. ,|
| )(__/ \__)( |
|/ /\ \|
(@_ (_ ^^ _)
_ ) \_______\__|IIIIII|__/__________________________
(_)@8@8{}<________|-\IIIIII/-|___________________________>
)_/ \ /
(@ `--------`
======YOU LOSE=======
'''
)
#得到诗句的字表
def get_ch_table(line):
ch_table = []
for ch in line:
if ch not in ch_table:
ch_table.append(ch)
return ch_table
#读取文件,分隔字符串,随机抽取诗句,
def idiom_robot(file_name):
with open(file_name) as fh:
text = fh.read()
idioms = text.split()
idiom = random.choice(idioms)
chs = get_ch_table(text.replace('\n', ''))#得到诗句的字表
guess_ch_table = [ch for ch in idiom]
while len(guess_ch_table) < 12:#获取随机字表
ch = random.choice(chs)
if ch not in guess_ch_table:
guess_ch_table.append(ch)
random.shuffle(guess_ch_table)#乱序
for i in range(0, 12, 4):
print(guess_ch_table[i], guess_ch_table[i + 1],guess_ch_table[i + 2],guess_ch_table[i + 3])
return idiom
def main():
filename = r'd:\temp\idioms_correct.txt'
score = 0
while score >= 0:
real_idiom = idiom_robot(filename)
answer_idiom = input('请输入猜测诗句,回车结束,直接回车表示退出游戏:')
if answer_idiom == real_idiom:
print('答对了,加十分')
score += 10
print('你当前的分数是:', score)
if score == 100:
win()
return
elif answer_idiom == '':
print('退出游戏。')
print('你最后的分数是:', score)
return
else:
score -= 10
print('答错了,减十分')
print('诗句其实是:', real_idiom)
print('你当前的分数是:', score)
else:
lose()
return
main()
In [ ]: