一个简陋地小软件,你能力好可以给他继续优化下。
设计背单词软件,功能如下:
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')
这是最开始的样子,我给他优化了嘻嘻,之前地没有答案哦