In [4]:
import random
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 guess_poem(file):
fh=open(file)
text=fh.read()
poems=text.split()
poem=random.choice(poems)
chs=get_ch_table(text.replace(r'\n', ''))
guess_ch_table = [ch for ch in poem]
while len(guess_ch_table) < 9:
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,9,3):
print(guess_ch_table[i], guess_ch_table[i+1],guess_ch_table[i+2])
return poem
def main():
file=r'c:\temp\诗词大全.txt'
score=10
while score>=0:
real_poem=guess_poem(file)
answer_poem=input('请输入猜测诗词,回车结束,直接回车表示退出游戏:')
if answer_poem==real_poem:
print('答对了,加十分')
score += 10
print('你当前的分数是:', score)
if score==100:
print('游戏胜利')
return
elif answer_poem=='':
print('退出游戏。')
print('你最后的分数是:', score)
return
else:
score-=10
print('答错了,减十分')
print('诗词其实是:', real_poem)
print('你当前的分数是:', score)
main()
In [ ]: