Python 背英语单词源代码

Python 背英语单词源代码

一个简陋地小软件,你能力好可以给他继续优化下。

设计背单词软件,功能如下:

1、可录入单词,输入英文单词及相应的汉语意思,如:

China 中国

pencil 铅笔

可查找单词的汉语或者英语含义(输入中文查英文含义,输入英文查汉语含义)

随机测试,每次测试5道题目,系统随机显示英语单词,用户回答中文含义,要求该软件能统计回答的准确率。

提示:可以使用字典(dict)实现

import random
import turtle as t

WORDS =  {'coding': '编码', 'syntax': '语法', 'error': '错误', 'invalid': '无效',\
         'identifier': '名称/标识符', 'character': '字符','user': '用户','attribute':'字段/属性', \
         'value': '值', 'key': '键', 'upper': '上面', 'lower': '下面', 'capitalize': '用大写字母写或印刷', \
          'title': '标题', 'replace': '替换', 'count': '计数', 'swap': '互换', 'case': '情形',\
         'path': '路径'}

iscontinue="y"
while iscontinue=="y" or iscontinue=="Y":
      
      
      print(
"""
                          欢迎使用BillChen单词速背系统 
             英译汉请输入Y    汉译英请输入N   添加单词请按L
             模拟练习请按T    结束程序请按W   开发详情请按任意键
"""
)
      F=input()
      if F=='N'or F=='n':
                        new_WORDS = {v : k for k, v in WORDS.items()}
                        n=input("请输入需要查询的单词或词语:")
                        if n in new_WORDS:
                              print(new_WORDS[n])
                        else:
                              print('暂未收录,敬请期待')
                        iscontinue=input("\n\n是否继续(Y/N):")      
      elif F=='Y'or F=='y':
                        n=input("请输入需要查询的单词或词语:")
                        if n in WORDS:
                              print(WORDS[n])
                        else:
                              print('暂未收录,敬请期待')
                        iscontinue=input("\n\n是否继续(Y/N):")
      elif F=='L'or F=='l':
                        new_value=input('请输入一个新的单词的释义:')
                        new_key=input('请输入这个新单词:')
                        WORDS[new_key]= new_value
                        print(WORDS)
      elif F=='T'or F=='t':
                        i=0
                        z=0
                        while  i<5:
                             
                              key=random.choice(list(WORDS))
                              right_key=WORDS[key]
                              print(key)
                              user_key=input("请输入这个单词的释义:")
                              if user_key == right_key:
                                    print('恭喜您,此题答对了')
                                    
                                    z=z+1
                                    
                                    
                              else:
                                    print('很遗憾,此题打错了,再接再厉哦')
                                    print("答案是: {}".format(WORDS[key]))
                                    
                              i=i+1
                              
                        print('恭喜您,本次模拟结束,本次您的正确率为:{:.2%}'.format(z/5))
      elif F=='W'or F=='w':
                        print("程序已经退出,欢迎您的下次使用")
                        iscontinue="n"
      else:
            t.setup(1800,800)
            t.speed(0)
            t.penup()
            t.goto(-900,400)
            t.pendown()
            t.colormode(255)
            t.color((5,5,5))
            t.begin_fill()
            for i in range(4):
                t.forward(1800)
                t.right(90)
            t.end_fill()


            #是星星噢
            t.penup()
            t.goto(-300,0)
            t.pendown()
            t.pencolor('wheat')
            t.pensize(3)
            t.speed(0)
            for i in range(30):
                t.forward (i*15)
                t.right(144)
            
            t.penup()
            t.goto(0,0)
            t.pendown
            t.color('cyan')
            t.write('开发人员:Trees Clouds,BillChen',font=("Script" , 34 , "bold"))
            t.right(90)
            t.fd(100)
            t.color('pink')
            t.write('♥',font=("Arial" , 34 , "italic"))
            t.left(90)
            t.fd(50)
            t.color('cyan')
            t.write('学号:201805050118',font=("Arial" , 34 , "bold"))
            t.right(90)
            t.fd(100)
            t.write('班级:18计科本1班',font=("Arial" , 34 , "bold"))
            t.right(90)
            t.fd(500)
            t.right(145)
            t.fd(600)
            t.write('考试必过',font=("Arial" , 34 , "bold"))
            t.right(145)
            t.fd(75)
            t.write('单词速背系统',font=("Arial" , 34 , "bold"))
##            t.hideturtle()
##            t.exitonclick()
            def star(x, y, left_angle, edge_len, color='yellow'):
##            '''
##            画一个五角星
##            :param x: 起始x坐标
##            :param y: 起始y坐标
##            :param left_angle: 画笔方向逆时针转动度数
##            :param edge_len: 五角星边的长度
##            :param color: 五角星颜色
##            :return:
##            '''
                # 五角星边的颜色
                t.pencolor(color)
                # 五角星内部填充色
                t.fillcolor(color)
                # 绘制速度,0代表最快,1-10:数字越大越快
                t.speed(0)

                t.pu()  # 抬起画笔
                t.goto(x, y)  # 移动到初始位置
                t.pd()  # 放下画笔

                t.begin_fill()  # 开始填充图形
               # 画笔方向以水平方向为基准
                # 逆时针转动 left_angle 度
                t.left(left_angle)
                # 循环绘制五角星的 5 条边
                for _ in range(5):  
                # 向画笔方向移动edge_len像素长度
                # 即:绘制五角星的一条边
                    t.forward(edge_len)
                # 画笔方向顺时针旋转144度
                # 由于五角星内角是36度,因此旋转180-36=144度
                    t.right(144) 
                t.end_fill()  # 填充完成
                # 将画笔方向恢复为水平方向,以免影响后续画图
                t.left(-left_angle)

                # 绘制满天星


                # 绘制 200 颗星星
            for _ in range(200):  
                # 随机生成起始坐标、画笔方向和五角星边长
                t.speed(0)
                rand_x = random.randint(-900, 900)
                rand_y = random.randint(-400, 400)
                edge_len = random.randint(3, 8)
                left_angle = random.randint(0, 180)
                star(rand_x, rand_y, left_angle, edge_len, '#FFFFF0')

这是最开始的样子,我给他优化了嘻嘻,之前地没有答案哦

  • 4
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值