Python实现背单词小程序
发表时间:2020-10-19
发布人:葵宇科技
浏览次数:103
程序还有很多的不足,界面也比较垃圾,功能也不是很多,但毕竟也写了几天,克服了许多困难才写出来的,还是挺有成就感的。现在单词只有两个,可以在English和Chinese两个字典中添加单词
import random
English={"China":"中国","blue":"蓝色"}
Chinese={"中国":"China","蓝色":"blue"}
def interface():
print(
"""
欢迎来到英语之家
请根据自己的需要选择下面功能
********************************************************************************
*1.英语查汉语
*2.汉语查英语
*3.随机测试
*4.退出系统
"""
)
def Test():
print(
"""
请选择测试的方式
**1.乱序猜单词
**2.汉语猜单词
**3.返回上一级
"""
)
def English_Chinese():
find="y"
while find=='Y' or find=='y':
a=input("请输入需要查找的单词") #输入一个单词
b=English.get(a) #将字典中键值a对应的值存到b中,如果没有找到b为None
if b==None:
print("查找的单词在字典中不存在")
else:
print(a,"单词的中文意思为>>",b)
while find=="Y" or find=="y" or find=="N" or find=="n":
find=input("是否继续:是(Y/y)/t否(N/n)>>")
if find!="Y" and find!="y" and find!="N" and find!="n":
print("输入不符合规范,请重新输入。。。。")
else: break;
def Chinese_English():
find='y'
while find=='y' or find=='Y':
a=input("请输入需要查找的中文")
b=Chinese.get(a) #将字典中键值a对应的值存到b中,如果没有找到b为None
if b==None:
print("查找的单词在字典中不存在")
else:
print(a,"单词的英文意思为>>",b)
while find=="Y" or find=="y" or find=="N" or find=="n":
find=input("是否继续:是(Y/y)/t否(N/n)>>")
if find!="Y" and find!="y" and find!="N" and find!="n":
print("输入不符合规范,请重新输入。。。。")
else: break;
def Word_Test1():
find="y"
a=0
b=0
while find=='y' or find=='Y':
word=random.sample(English.keys(),1)
word=str(word)
word=word[2:-2]
correct=word
#print(type(correct))
#print(correct,word)
kong=''
while word:
w=random.randrange(len(word))
kong+=word[w]
word=word[:w]+word[(w+1):]
#print(w)
print("乱序后的单词:",kong)
guess=input("输入你认为的单词:")
while guess!=correct and guess!=" ":
print("回答错误,请仔细想想,输入空格代表放弃回答")
a+=1
print("当前正确率为:",(int)(b/(b+a)*10000)/100,"%")
guess=input("再次输入:")
if guess==correct:
print("答对了,继续加油")
b=b+1
print("当前正确率为:",(int)(b/(b+a)*10000)/100,"%")
elif guess==" ":
print("答案是>>",correct)
print("当前正确率为:",(int)(b/(b+a)*10000)/100,"%")
while find=="Y" or find=="y" or find=="N" or find=="n":
find=input("是否继续:是(Y/y)/t否(N/n)>>")
if find!="Y" and find!="y" and find!="N" and find!="n":
print("输入不符合规范,请重新输入。。。。")
else: break;
def Word_Test2():
find="y"
a=0
b=0
while find=='y' or find=='Y':
word=random.sample(Chinese.keys(),1)
word=str(word)[2:-2]
print("请输出汉语",word,"对应的英文单词")
guess=input("输入你认为的单词>>")
correct=Chinese.get(word)
#print(correct)
while guess!=correct and guess!=" ":
print("回答错误,请仔细想想,输入空格代表放弃回答")
a+=1
print("当前正确率为:",(int)(b/(b+a)*10000)/100,"%")
guess=input("再次输入:")
if guess==correct:
print("答对了,继续加油")
b=b+1
print("当前正确率为:",(int)(b/(b+a)*10000)/100,"%")
elif guess==" ":
print("答案是>>",correct)
print("当前正确率为:",(int)(b/(b+a)*10000)/100,"%")
while find=="Y" or find=="y" or find=="N" or find=="n":
find=input("是否继续:是(Y/y)/t否(N/n)>>")
if find!="Y" and find!="y" and find!="N" and find!="n":
print("输入不符合规范,请重新输入。。。。")
else: break;
while True:
interface()
a=int(input("***请选择你需要的功能>>"))
if a==1:
English_Chinese()
elif a==2:
Chinese_English()
elif a==3:
while True:
Test()
b=int(input("***请选择你需要的功能>>"))
if b==1:
Word_Test1()
elif b==2:
Word_Test2()
elif b==3:
break
else:
print("输入有误!!!请从新选择!!!")
elif a==4:
exit(0)
else:
print("输入有误!!!请从新选择!!!")