猫史档案馆


【Python作品分享】猜单词【作品秀】

用户:小麦做的面包小麦做的面包查看:0 回复:2 评论:0 创建时间:2022-07-19T09:40:09


【作品展示】

center_image

 

【作品介绍】

运行之前先保存!!!

开始之前先添加单词!!!

游戏玩法:打乱单词顺序,拼出单词(当然也可以是中文和数字,你添加个114514都行)可以统计正确率,添加的单词和正确率都会保存到word.json里)

 

【作品源代码】

import json
import random
begin_data = {'words':[],
              'point':[0,0]}
def save():
    with open('word.json', 'w') as f:
        json.dump(data, f)

#读取数据
try:
    with open('word.json', 'r') as f:
        data = json.load(f)
except:
    data = begin_data
    save()

def newword():
    word = input('请输入新单词 (按回车键返回主界面)>>>')
    if word == '':
        main()
    elif word not in data['words']:
        data['words'].append(word)
        save()
        print('添加成功')
        newword()
    else:
        print('单词已存在')
        newword()

def delword():
    word = input('请输入要删除的单词 (按回车键返回主界面)>>>')
    if word == '':
        main()
    elif word in data['words']:
        data['words'].remove(word)
        print('删除成功')
        save()
        delword()
    else:
        print('单词不存在')
        delword()

def game():
    words=data['words'][:]
    if words==[]:
        print('请先添加单词')
        main()
    else:
        print('------------------------------------------------开  始  游  戏---------------------------------------------')
    maxpoint = len(words)
    point=0
    while len(words)>0:
        word=random.choice(words)
        wordlist=list(word)
        new_wordlist=[]
        for i in range(len(word)):
            if len(wordlist)>1:
                a = random.choice(wordlist[1:])
            else:
                a=wordlist[0]
            new_wordlist.append(a)
            wordlist.remove(a)
            word1=''.join(new_wordlist)
        user=input(word1+':')
        if user==word:
            print('猜对了')
            point+=1
        else:
            print('猜错了,正确答案是',word)
        words.remove(word)
    
    data['point'][0]+=point
    data['point'][1]+=maxpoint
    save()
    print('游戏结束,你猜对了',point,'个单词!')
    print('正确率:',round(100*point/maxpoint,1),'%!')
    main()

def main():
    print('-----------------------------------------------------------------------------------------------------------')
    user = input('选择一个操作 (1:开始猜单词 2:添加单词 3:删除单词 4:查看所有单词 5.查看成绩 6.删除所有单词 7.退出)>>>')
    if user=='1':
        game()
    elif user=='2':
        newword()
    elif user=='3':
        delword()
    elif user=='4':
        global data
        print(data['words'])
        main()
    elif user=='5':
        print('正确单词数:',data['point'][0])
        print('总单词数:',data['point'][1])
        try:
            print('正确率:',round(100*data['point'][0]/data['point'][1],1),'%')
        except:
            print('正确率: --%')
        main()
    elif user=='6':
        data['words']=[]
        print('删除成功')
        save()
        main()
    elif user=='7':
        print('退出成功')
    else:
        print('请重新输入')
        main()
main()

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
adofaiadofai

imgsrc="https://static.codemao.cn/emoji/codemao/%E7%BC%96%E7%A8%8B%E7%8C%AB_%E7%82%B9%E8%B5%9E.gif"alt="emotion_编程猫_点赞"

点赞1


评论


小麦做的面包小麦做的面包

点赞0


评论