回复:关于某初三学生在CSDN上的求助

在写这个博客的时候,这个故事已经过去挺久了

但是我还是决定写一篇博客记录这件事情

图片取自CSDN

经过几个CSDN热心网友的转发以及一些机缘巧合,我看到了这个初三学生的求助

而内容是制作一个可以统计时间和金额的折线图的小工具

反正闲着也是闲着,我就准备开始入手

1.整理思路

首先,整理下制作的思路

问题中的自动连线生成折线图,让我想到了Python中,Pyecharts模块的Line

于是决定,用Python来完成这次制作

以及问题中,每天输入一个数据,代表了我需要做一个存储数据的容器

先从理论上建立工具使用的流程:

图像为原创

2.构建工具框架

从整理的框架上来看,制作这个工具需要用到一下几个模块

1. Pyecharts模块中的Line功能 构图(程序的主体)

2.os模块 数据文件的查询以及创建

3.time模块 部分地方的停顿

首先,导入3个必要的模块

from pyecharts.charts import Line
import time
import os

然后,分别创建3个函数,来负责工具需要的3个功能

def programme():      #数据库的查询以及创建
def programme2():     #必要信息的输入
def programme3():     #折线图的制作
(懒得给函数想名字了,随便取个凑合着看吧)

至此,框架以及搭建好了

3.完善小工具的各个功能

先从第一个模块开始

数据库的查询以及创建:

def programme():
    try:
        os.mkdir('data')
        print('发现暂没数据目录文件')
        print('正在创建...')
        time.sleep(2)
        print('创建完毕')
    except:
        pass

直接利用try...except...函数,尝试创建文件夹

减少了查找是否有文件夹的步骤

然后下下一个模块

必要信息的输入:

这里我们大胆的再进行添加元素

如果一个图标画完了,需要构造第二个图标

那我们还需要写一个删除数据文件的命令

def programme2():
    print('输入1:添加新行情')
    print('输入2:清空行情')
    try:
        b = int(input('现在,请你输入:'))
    except:
        b = 999999   #这里随便输入一个不包括1和2的数即可,只是为了防止使用者随便输入
    #添加数据
    if b == 1:
        print('请输入记录时间和数值。')
        Time = input('现在,请你输入时间:') + '\n'
        dat = input('现在,请你输入数值:')
        try:
            int(dat)
            data = dat + '\n'
            print('正在记录,请稍等。。。')
            Times = open('data/times.ini','a')
            Times.write(Time)
            Times.close()
            datas = open('data/datas.ini','a')
            datas.write(data)
            datas.close()
        except:
            print('你输入的数值有问题,请输入数字')
            print('请在3秒后重新输入...')
            time.sleep(3)
    #清空数据
    elif b == 2:
        print('正在清空数据,请稍后...')
        if(os.path.exists(dirPath+"times.ini")) and (os.path.exists(dirPath+"datas.ini")):
            os.remove(dirPath+"times.ini")
            os.remove(dirPath+"datas.ini")
            time.sleep(3)
            print('清空完毕')
            time.sleep(3)
        else:
            print('没有可以清空的数据')
    else:
        pass

至此,3个模块已经写好了2个,我们继续完成最后一个模块

文章未完,后续文章,请到我的个人博客当神奇降临

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值