析构!!!

大家好,我还是那个小岚的作者@发现美的眼睛

这一次,为大家介绍一种思路,就是析构思路。


先来看看原生的小岚,刚刚诞生的样子!

#! /usr/bin/python
# -*- coding:utf-8 -*-
#@491609917@qq.com 作者:和光同尘堂
#功能列表----------------------
1.  支持图数一体化   ---yes单一js        ---yes^非单一js配置参数图表      ---yes二级优化(针对图表格式化输出代码进行优化)       ---yes
----------------------
2.  支持单位转换      ---yes专业术语转换        ---yes
----------------------
3.  语句排列(格式化输出)   ---yes^格式化输出 __init__       #初始化输出格式化输出字符串      ---yes正则                ---yes
----------------------
4.  历史转存(列表判断,time引导记录)        ---yes格式化输出(语句)   ---yes^图表输出正则               ---yes^调取历史数据出现三次,需修复^调取历史数据,时间线需要切片处理
----------------------
5.  图表转存(格式化输出)格式化打印      ---yes正则        ---yes
----------------------
6.  计算公式优化          ---yes将if判断式中的ALG调整为函数ALG       ---yes^结构内部出现内建函数,需要进行调整from pyecharts import Line# Ilike, Ispeak = "人生苦短,我用python", "小岚是我第一个创造的世界"
# hint = "所有数据将存储该程序中,不用联网(仅限无爬虫版本)"
# BBS = "利息计算根据中国人民银行公布的利率进行计算,该数值可精确到小数万位"
# print(Ilike.center(125,' ') + '\n')
# print(Ispeak.center(120,' ') + '\n')
# print(hint.center(110,' ') + '\n')
# print(BBS.center(100,' ') + '\n')Ilike, Ispeak = "人生苦短,我用python\n", "小岚是我第一个创造的世界\n"
hint = "所有数据将存储该程序中,不用联网(仅限无爬虫版本)\n"
BBS = "利息计算根据中国人民银行公布的利率进行计算,该数值可精确到小数万位\n"
print(Ilike.center(125,' ') + '\n' + Ispeak.center(120,' ') + '\n' + hint.center(110,' ') + '\n' +BBS.center(100,' '))# 修复注释:# 请将多个重复性代码进行优化重叠,减少体积。例如js生成代码# 历史数据;# 将I/O转存,实现第四功能
-----------------------------------------------------------------------------------------------------------------------------------# 图表格式化输出单位为:缩进块为4*空格----制表单位# 表结构需要使用---正则---进行重新定义排序m = [['城乡居民和单位存款', "利率 % (单位/百分比)"],['活期存款',"0.35"],['整存整取定期存款','选项'],['三个月','1.1'], ['半年','1.3'], ['一年','1.5'],  ['两年','2.1'], ['三年','2.75'],['各项存贷','选项'],['一年以内(含一年)','4.35'], [ '五年以内(含五年)','4.75'], ['五年以上','4.90'],['个人住房公积金贷款','选项'],['五年以下(含五年)', '2.75'], ['五年以上', '3.25'],['暂无额外','选项']]##每次format时,只能填入两个坑for mm in m:print('-' * 100)print("\t{0:{2}^20}\t{1:{2}^30}".format(mm[0], mm[1],chr(12288)))# 95-131行代码实现图表格式化输出-----------------------------------------------------------------------------------------------------------------------------------------历史数据存储判断----str_type = one_type ----timestamp = time.localtime(time.time)def ALG_a(deposit_strs, irs_a):global resultresult = deposit_strs * irs_a * 1return print("利息为: %s" % result)def ALG_b(loan_strs, irs_b):global resultresult = loan_strs * irs_b * 1return print("利息为: %s" % result)def ALG_c(CPF_strs, irs_c):global resultresult = CPF_strs * irs_c * 1return print("利息为: %s" % result)set_list = []
print(input("Enter回车下一步:"))
while True:print("\n###非技术型问题###","\n\t###第一计算类型--整存整取定期存款","\n\t###第二计算类型题--各项存贷", "\n\t###第三计算类型--个人住房公积金存贷")one_type = input("\n本次计算类型应为:")if one_type == '整存整取定期存款':irs_a_1 = float(0.011)irs_a_2 = float(0.013)irs_a_3 = float(0.015)irs_a_4 = float(0.021)irs_a_5 = float(0.0275)deposit_strs = float(input('-' * 100 + "\n存入金额:"))print('-' * 100 + "\n整存整取定期存款:其款项所存时间为符合项,不应出现不符合规则项!")deposit_time = float(input('-' * 100 + "\n存款时间选项\n\t三个月等于3\t半年等于6\t一年等于12\t两年等于24\t三年等于36" + "\n存款时间:"))irs_a = [irs_a_1, irs_a_2, irs_a_3, irs_a_4, irs_a_5]if deposit_time == 3:ALG_a(deposit_strs, irs_a[0])set_list = [deposit_strs, result + deposit_strs]  # 修复完成elif deposit_time == 6:ALG_a(deposit_strs, irs_a[1])set_list = [deposit_strs, result + deposit_strs]    # 修复完成elif deposit_time == 12:ALG_a(deposit_strs, irs_a[2])set_list = [deposit_strs, result + deposit_strs]    # 修复完成elif deposit_time == 24:ALG_a(deposit_strs, irs_a[3])set_list = [deposit_strs, result + deposit_strs]    # 修复完成elif deposit_time == 36:ALG_a(deposit_strs, irs_a[4])set_list = [deposit_strs, result + deposit_strs]    # 修复完成else:print("\t输入值错误")print("\t请输入符合计算条件的数值")  # 报错异常写入try异常处理中elif one_type == '各项贷款':irs_b_1 = float(0.0435)  # <=1irs_b_2 = float(0.0475)  # >1 <=5irs_b_3 = float(0.0490)  # >5loan_strs = float(input('-' * 100 + "\n数值金额:"))loan_time = float(input('-' * 100 + "\n贷款时间:"))  # 可输入月份比较值(即一个月等于1,五个月等于5,一年等于12)irs_b = [irs_b_1, irs_b_2, irs_b_3]if loan_time <= 1:ALG_b(loan_strs, irs_b[0])set_list = [loan_strs, result + loan_strs]elif loan_time > 1 <= 5:ALG_b(loan_strs, irs_b[1])set_list = [loan_strs, result + loan_strs]elif loan_time > 5:ALG_b(loan_strs, irs_b[2])set_list = [loan_strs, result + loan_strs]else:print("贷款时间 {} 输入值存在异常".format(loan_time))elif one_type == '个人住房公积金存贷':irs_c_1 = float(0.0275)irs_c_2 = float(0.0325)CPF_strs = float(input('-' * 100 + "\n贷款金额:"))CPF_time = float(input('-' * 100 + "\n贷款时间:"))irs_c = [irs_c_1, irs_c_2]if CPF_time <= 5:ALG_c(CPF_strs, irs_c[0])set_list = [CPF_strs, result + CPF_strs]elif CPF_time > 5:ALG_c(CPF_strs, irs_c[1])set_list = [CPF_strs, result + CPF_strs]else:print("\t输入值错误")print("\t请输入符合计算条件的数值")
else:print("输入值存在异常")# 输入值应为自由,不该受限#str_str = int(input("\n提示数值为整数\t" + "\t请输入存放金额: "))#time_str = int(input("\n提示输入值为数字\t" + "\t请输入年份: "))-----------------------------------------------------------------------------------------------------------------------------------------------
"""
try:# 异常处理,针对用户输入错误类型进行提示str_str = int(input("\n提示数值为整数\t" + "\t请输入存放金额: "))print("pass") if str_str == int else print("输入值存在异常")     # 异常处理
except Exception as e:print("输入了错误类型,请输入正确类型!")
else:True   # 正常则1
finally:print("异常处理机制已启动")
"""----------------------------------------------------------------------------------------------------------------------------------------------

这里面包含了很多很多,就光注释就几十行。毕竟是第一次写程序,在没有任何导师的指点下,我们需要边写边优化。同时还要对代码能够实现的功能进行扩展,于是……繁琐复杂和无效在那个时候称为我最为头疼的问题。

好在,强迫症要求自己在400行的时候进行重新析构。


相信大家都明白析构的含义吧!顾名思义,析构就是重构!

对原来的自己编写的代码进行重新书写,就连结构框架都要重新定义。不过,也正是这个过程彻底磨炼了个人水平!

小岚流程图

也就是这个过程,让我明白了一个程序出生到完善之中一系列的过程,这里面包含的世界。

从刚开始写的ALG计算(ALG就是算法,这里只是指计算公式),到后边的功能扩展,都是 一次次学习进步得来的。


废话不多,流程图才是这个程序真正的精髓。这个过程,我使用了五个以上的库来协助完成我的愿望!

① datatime——

② sys——

③pyecharts——

④wxpy——

⑤内建库(代码必须拆分写,不然又后悔的日子)——

⑥MySQL——

⑦Redis——

这些库组成了小岚现在的样子!历时半个月,从书写到析构,从单一计算到功能扩展。这就是全过程!

析构之后:万物重生! 小岚Rabbit_Radish(兔仔_萝卜)相关推荐

  1. Python跳跳兔小游戏源代码,兔年必玩小游戏,兔年大吉

    Python跳跳兔小游戏源代码,兔年必玩小游戏,兔年大吉,小兔子跳跳,按空格键向上跳跃,按键盘方向键进行左右移动,以避开飞弹,以防被炸,还可以捡到火箭道具哦. 完整程序下载地址:Python跳跳兔小游 ...

  2. 小程序模板网站平台_小程序模板平台哪个好

    小程序模板网站平台_小程序模板平台哪个好?分享一个微信小程序模板平台,超60个行业的小程序模板免费使用,页面内容丰富样式多样的,小程序界面模板. 微信小程序模板网站平台 微信小程序模板平台的存在,就是 ...

  3. python小论文范文3000字_完整的论文范文3000字

    2019-08-18 [完整的 英文]完整的同义词 [完整的拼音]:wán zhěng[完整的意思]:具有或保持着应有的各部分:没有损坏或残缺.[完整的同义词]:完好 完全完整的造句1.爸爸送给小军一 ...

  4. 2-神经网络起源-demo3-共享单车__小批量多隐藏层_答案

    import numpy as np import pandas as pd import matplotlib.pyplot as plt# 解决pd中print中间省略的问题 pd.set_opt ...

  5. 2023年玩兔年小游戏《兔兔保卫萝卜战》赢新年祝福「钱兔无量」

    PS:粉丝可以免费领源码,私信我或者评论666即可~~~~~~~~ 导读 | 世界杯虽已闭幕,但其带给我们的精彩,仿佛就在昨天,想一想,还是有一种爽劲,不知道大家是否也这样?转眼就到了2023年,今年 ...

  6. 小程序 多个 veb-view返回 返回了两个页面_关于微信小程序 - 小兔儿_乖乖

    1.窗口配置 微信小程序的配置分为全局配置,页面配置 ①全局配置的话,一般在根目录中配置全局决定页面文件的路径.窗口表现.设置网络超时时间.设置多 tab等.例如:  ②页面配置的话,是对某个文件夹中 ...

  7. python求鸡兔同笼 鸡兔总数鸡兔腿_编程解决鸡兔同笼的问题:假设共有鸡、兔30只,脚90只,求鸡、兔各有多少只? 提交代码和截图_学小易找答案...

    [判断题]链路是指两个相邻节点之间的通信线路 [简答题]编程实现以下功能: 输入一个文件夹,程序能够统计该文件夹的大小,以及该文件夹下子目录.子文件的数量. [简答题]如何正确使用食品添加剂? [简答 ...

  8. 小甲鱼python课件源代码_[Python基础] 小甲鱼零基础入门Python学习视频+全套源码课件 Python视频教程 96讲...

    资源介绍 课程简介: 小甲鱼的Python课程,对初学者来说相当不错!97讲完全解读,会让大家对Python的认识从无到有,推荐给大家! 课程目录------------------- 第000讲 愉 ...

  9. 小甲鱼python全部视频_小甲鱼全套教程之Python系列视频教程

    Python 当前位置:主页 > 编程教程 > Python > 小甲鱼全套教程之Python系列视频教程 小甲鱼全套教程之Python系列视频教程 教程大小:   发布时间:201 ...

  10. 小甲鱼python课件免费_小甲鱼零基础入门学习Python+全套源码课件-资源共享吧收集整理...

    游客,如果您要查看本帖隐藏内容请回复 第000讲 愉快的开始(视频+课件) 第001讲 我和Python的第一次亲密接触(视频+课件) 第002讲 用Python设计第一个游戏(视频+课件+源代码) ...

最新文章

  1. css设置标题边框,css 如何让文字标题显示在边框上?
  2. H.264宣布永远不会对使用者收费
  3. 单行文字压缩处理(要指定字体)
  4. elementui树形复选框_Element-ui表格树形控件结合复选框实践
  5. 不擅长面试可以怎么准备面试?
  6. 怎样验证TextBox输入的全是数字 - .NET技术 / ASP.NET
  7. Sliverlight变换特性
  8. Spring Boot + Spring Data + Elasticsearch实例
  9. mysql日常问题记录
  10. 人民邮电报:区块链和工业互联网的融合 将产生叠加倍增效应
  11. Codeforces 932D - Tree
  12. 运维技术之二(2)、docker安装jumpserver
  13. 小程序直播 OBS 画质_教你玩转微信小程序直播
  14. Eclipse安装php插件phpeclipse(转)
  15. 国家开放大学2021春1062文学英语赏析题目
  16. 18-09-20 关于Xlrd和Xlwt的初步学习
  17. mysql:本地mysql不能被其他主机连接解决方法
  18. 量子计算机生命,量子计算机上量子人工生命模型 - 酷酷UFO
  19. 淘宝中的UV,PV,IPV
  20. KD树实现鸢尾花分类(Numpy实现)

热门文章

  1. android h5 qq登录,Android webview一键登录手机QQ(2018.11)
  2. 运筹帷幄决胜千里,Python3.10原生协程asyncio工业级真实协程异步消费任务调度实践
  3. android删除短信权限,android删除短信(绕过权限)
  4. 剖析矩阵的本质及其意义
  5. laravel与TP的区别
  6. h5通过当前时间获取农历日期
  7. 因为星期三有计算机课的英语,34  (五年级上册)第二单元 我星期里的每天--英汉对...
  8. 程序物语(八):我心戚戚
  9. 用python根据年份判断生肖_C#中根据年份判断十二生肖
  10. wordpress博客 qq客服插件