PyQt5学习教程17:70行的货币转换程序的编程思路
来源:互联网 发布:it专业 编辑:程序博客网 时间:2024/05/22 14:41
这篇教程的分量比较重,而且难度比较大,如果感觉读起来有困难,可以先放一放。本例程来源于《Python Qt GUI快速编程》,该书中第4章的“70行的货币转换程序”,但是这个程序使用Python2和PyQt4编写的,我们现在使用Python3和PyQt5,所以该程序不能直接运行,而且书中所指的网站链接已经不存在,本例程在其基础上做了大幅度的改进与完善,代码量也不止70行。
先看一下,程序运行的界面,如下图所示:第1行显示能够得到的最新汇率时间,第2行是可选择的转换货币,第3行是加元对该货币的汇率(本想直接找到人民币的汇率文件,但是还没有在网上搜索到,以后找到再改进,现在只能用加元做一下中间转换),第4行是加元对人民币的汇率,第5行是计算出来的人民币对该货币的汇率,第6行是欲转换的人民币数量,第7行是转换后货币的数量,第8行用于显示原始的数据和中间过程。
数据文件是从网上搜索到的,网址为:
"http://www.bankofcanada.ca/valet/observations/FXCADAUD,FXCADBRL,FXCADCNY,FXCADEUR,FXCADHKD,FXCADINR,FXCADIDR,FXCADJPY,FXCADMYR,FXCADMXN,FXCADNZD,FXCADNOK,FXCADPEN,FXCADRUB,FXCADSAR,FXCADSGD,FXCADZAR,FXCADKRW,FXCADSEK,FXCADCHF,FXCADTWD,FXCADTHB,FXCADTRY,FXCADGBP,FXCADUSD,FXCADVND/csv"
将其下载到本地后,我们可以通过Excel可视化的观察该数据。
该数据主要分为2部分,第1部分,是转换货币的标识缩写和描述,如下图所示。
第2部分是汇率信息,我们需要通过列号进行查找。
程序的整体思路是先根据第1部分的信息建立2个字典,第1个字典存储货币字典,第2个字典存储货币描述。然后先读取第2部分内容的第1行,将其转换为列表,列表的索引号即为列号。接下来,再建立1个字典,按行处理后续的数据,如果该行有数据则覆盖已经得到的字典中的数据,否则不执行,这样就能够得到最新的汇率信息了。
由于程序量比较大,我们在下1篇教程中,再和大家探讨程序的内容和具体的解释。
原创性文章,转载请注明出处 http://user.qzone.qq.com/2756567163。
CSDN:http://blog.csdn.net/qingwufeiyang12346
- PyQt5学习教程17:70行的货币转换程序的编程思路
- PyQt5学习教程18:70行的货币转换程序
- PyQt5学习教程1:最简单的窗体
- PyQt5学习教程13:输入对话框的使用
- PyQt5学习教程14:颜色拾取对话框的使用
- PyQt5学习教程15:字体选择对话框的使用
- PyQt5学习教程16:文件打开对话框的使用
- PyQt5的第一个程序
- 实现货币金额中文大写转换的程序
- 实现货币金额中文大写转换的程序
- 实现货币金额中文大写转换的程序
- PyQt5初级教程--PyQt5的第一个程序[3/13]
- PyQt5初级教程--PyQt5的第一个程序[3/13]
- PyQt5学习教程12:数学表达式解析程序
- PyQt5系列教程(九)QInputDialog的使用
- PyQt5教程-01-最简单的窗口
- PyQt5教程-02-程序图标
- PyQt5教程 - pyqt gui编程
- Unable to find setter method for attribute: [commandName]
- Unity3D热更新之网页运行工具
- 你充满电了吗?——序(笔记)
- 【VS开发】vector<ImageFeatures> features(num_images)析构报错
- Hibernate 工具类(个人编写,初次了解,还未完善)
- PyQt5学习教程17:70行的货币转换程序的编程思路
- C++ 内存对齐
- JavaWeb项目启动时,自动执行代码的三种方式(包含不占用tomcat启动时长的方式)
- 蛋疼的一瞬间
- 泛型的冒泡排序
- html事件冒泡和事件捕获
- lua 学习资料
- 基于XML Schema的简化配置方式
- Spring+STOMP实现WebSocket广播订阅、权限认证、一对一通讯(附源码)