用python3实现简单单词记录本

大学狗一枚,放寒假在家里自学python。学完文件之后打算做点东西练练手,正好百词斩上错的词有点多,于是就产生了编一个记录本的想法,计划实现的功能如下:

计划实现效果:
进入控制界面,选择功能,记单词还是背单词
记单词功能:
从控制界面向recite.txt中写入单词,再写入其对应中文示意,中间用" "分开,当输入"owari"时退出
背单词功能:
从recite.txt中读取" "后的中文解释放在控制台上,输入对应英文示意,正确则下一个,错误则提供三次机会,全错给出答案,输入"owari"时退出

画好流程图之后就开始莽了,中间也遇到了几个不会弄的bug,不过靠百度总算还是差不多解决了,目前初步实现了设想的功能,但是还有好多地方要完善!比如每次新的记录会把原来的覆盖掉,比如背诵功能最后会因为数据抛出报错......

先把代码放出来,漏水的地方很多,各位大佬请务必不吝指教


  <textarea readonly="readonly" name="code" class="Python"> 
#Help U Recite English
#               ---by satori
def main():
    flag = 0
    while flag != 1 and flag != 2:
        flag = int(input("请输入你想要的功能对应的数字 1.记录 2.背诵\n"))
    if flag == 1:
        record()
    if flag == 2:
        recite()
def record():
    print("——————这是记录功能——————\n")
    file = open('recite.txt','w')
    str_c = input("请输入单词的中文\n")
    file.write('c'+str_c+'\n')
    while str_c != 'owari':
        str_e = input("请输入单词的英文\n")
        file.write('e'+str_e+'\n')
        str_c = input("请输入单词的中文\n")
        file.write('c'+str_c+'\n')
    file.close()
def recite():
    flag = True
    print("——————这是背诵功能——————\n")
    file = open('recite.txt','r')
    if flag:
        while 1:
            str_c = file.readline()
            if not str_c:
                input("词典到此结束")
            elif str_c[1] == 'e' or str_c == 'cowari':
                continue
            else:
                print(str_c[1:])
                i = 0
                answer = next(file).strip()
                while i < 3:
                    str_e = input("请拼写对应的英文\n").strip()
                    if str_e == answer[1:]:
                        print("正确\n")
                        break
                    elif str_e == 'owari':
                        break
                    else:
                        print("错误\n")
                        i = i+1
                print("答案是:",answer[1:])                
    file.close()

main()
 
  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值