Python实现汇率转换操作


Posted in Python onMay 03, 2020

1,分析计算部分;

2,将问题分为输入,处理以及输出三部分;

3,设计算法进行计算。

输入:人民币金额

处理:汇率计算:输入/汇率

输出。

打开PyCharm?>File?>new Project?>选择目录或者新建,默认interpreter是Anaconda?>create?>是否在当前窗口创建还是在一个新的窗口创建,选新窗口

创建好以后,打开目录,发现只有个.idea文件表示一些配置

新建文件,在目录上面new?>Python file?>填写名字:currency_converter,默认是.py文件?>OK

输入提示:

input(‘请输入人民币金额:')

接收输入值:

在前头起个变量rmb_value_rec,赋值

rmb_value_rec = input(‘请输入人民币金额:')
print(‘rmb_value_rec:',rmb_value_rec)输出看下是否接收正确(输入的逗号为英文输入法)

接受中含有文本怎么办?

python有函数eval,可以只取出含有数字的部分

定义变量表示输入的数字:rmb_vlaue

rmb_value = eval(rmb_value_rec )

汇率转换:

当前汇率是6.77,

定义一个变量表示当前汇率

us_vs_rmb = 6.77

定义一个变量表示汇率转换到的美元值:us_value

计算

us_value = rmb_value / us_vs_rmb

结果输出:

print(‘美元金额是:',us_value,'$')

运行:

右键,run一下

Python实现汇率转换操作

补充知识:python 利用api获取货币汇率

首先先到fixer.io网站,也就是提供货币汇率接口的网站,网址是:https://fixer.io/,看起来是这样的:

Python实现汇率转换操作

documentation里是接口使用的具体说明,为了使用这个接口首先得申请一个api access key,点击屏幕右上角GET FREE API KEY:

Python实现汇率转换操作

不同价格的api key有不同的功能,当然越贵的功能越好,在这里我们申请免费的API KEY,它提供的访问次数是一个月1000次,可以获得每小时的更新数据,支持的查询有限,比如说只能以欧元为base,同时它还可以查看历史的数据。点击GET FREE API KEY,需要填写个人信息:

Python实现汇率转换操作

示例如下:

Python实现汇率转换操作

有个比较坑的地方就是这个网页必须要有vpn才可以有人机验证,没有vpn的话注册不了access key,用于学习用途的话翻可以用赛风,如果仅是个人学习使用的话可以用我注册的access key:dd44405658a1e71fd1d896a14a76f32d

使用方法具体可以看文档,比如说我想看当前欧元和人民币的汇率,那么可以让base=EUR,symbols=CYN,在浏览器搜索栏上输入

http://data.fixer.io/api/latest?access_key=dd44405658a1e71fd1d896a14a76f32d&base=EUR&symbols=CNY

其中access_key后面是你注册的access key,结果如下:

Python实现汇率转换操作

python利用api接口获取汇率的代码如下:

import requests
 
def main():
 res = requests.get("http://data.fixer.io/api/latest?access_key=dd44405658a1e71fd1d896a14a76f32d&base=EUR&symbols=CNY")
 if res.status_code != 200:
 raise Exception("ERROR: API rquest unsuccessful.")
 data = res.json()
 print(data)
 
if __name__ == "__main__":
 main()

结果:

Python实现汇率转换操作

获取的数据是json格式可以后期再自己处理,因为free key的base只能是欧元,所以可以多操作几次然后换算自己想要的货币的汇率,例子如下:

import requests
 
def main():
 base = input("First Currency: ")
 other = input("Second Currency: ")
 access_key = "dd44405658a1e71fd1d896a14a76f32d"
 res_b = requests.get("http://data.fixer.io/api/latest",
   params={"access_key": access_key, "base": "EUR", "symbols": base})
 res_o = requests.get("http://data.fixer.io/api/latest",
   params={"access_key": access_key, "base": "EUR", "symbols": other})
 if res_b.status_code != 200 or res_o.status_code != 200:
 raise Exception("ERROR: API request unsuccessful.")
 data_b = res_b.json()
 data_o = res_o.json()
 rate_b = data_b["rates"][base]
 rate_o = data_o["rates"][other]
 rate = round((rate_o / rate_b), 2)
 print(f"1 {base} is equal to {rate} {other}") 
 
if __name__ == "__main__":
 main()

以上这篇Python实现汇率转换操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python使用urllib模块的urlopen超时问题解决方法
Nov 08 Python
python比较两个列表是否相等的方法
Jul 28 Python
Python爬虫_城市公交、地铁站点和线路数据采集实例
Jan 10 Python
基于python requests库中的代理实例讲解
May 07 Python
python装饰器简介---这一篇也许就够了(推荐)
Apr 01 Python
提升Python效率之使用循环机制代替递归函数
Jul 23 Python
使用Python实现图像标记点的坐标输出功能
Aug 14 Python
使用OpenCV实现仿射变换—缩放功能
Aug 29 Python
python sitk.show()与imageJ结合使用常见的问题
Apr 20 Python
Django def clean()函数对表单中的数据进行验证操作
Jul 09 Python
Python3合并两个有序数组代码实例
Aug 11 Python
Python中Numpy和Matplotlib的基本使用指南
Nov 02 Python
Python定时从Mysql提取数据存入Redis的实现
May 03 #Python
python函数调用,循环,列表复制实例
May 03 #Python
python轮询机制控制led实例
May 03 #Python
python 轮询执行某函数的2种方式
May 03 #Python
在Sublime Editor中配置Python环境的详细教程
May 03 #Python
Python 将 QQ 好友头像生成祝福语的实现代码
May 03 #Python
Python使用pdb调试代码的技巧
May 03 #Python
You might like
php中的一个中文字符串截取函数
2007/02/14 PHP
深入apache host的配置详解
2013/06/09 PHP
php实现的单一入口应用程序实例分析
2015/09/23 PHP
PHP实现对xml的增删改查操作案例分析
2017/05/19 PHP
javascript json2 使用方法
2010/03/16 Javascript
用jquery模仿的a的title属性(兼容ie6/7)
2013/01/21 Javascript
js借助ActiveXObject实现创建文件
2013/09/29 Javascript
JavaScript中的console.group()函数详细介绍
2014/12/29 Javascript
究竟什么是Node.js?Node.js有什么好处?
2015/05/29 Javascript
详细解读JavaScript编程中的Promise使用
2015/07/27 Javascript
jQuery实现下拉框多选 jquery-multiselect 的实例代码
2016/07/14 Javascript
NodeJS和BootStrap分页效果的实现代码
2016/11/07 NodeJs
微信小程序购物商城系统开发系列-工具篇的介绍
2016/11/21 Javascript
jQuery ajax请求struts action实现异步刷新
2017/04/19 jQuery
vuejs+element-ui+laravel5.4上传文件的示例代码
2017/08/12 Javascript
JavaScript实现数字前补“0”的五种方法示例
2019/01/03 Javascript
vue elementUI table 自定义表头和行合并的实例代码
2019/05/22 Javascript
使用Vue 自定义文件选择器组件的实例代码
2020/03/04 Javascript
js实现头像上传并且可预览提交
2020/12/25 Javascript
python实现网页链接提取的方法分享
2014/02/25 Python
Python的collections模块中namedtuple结构使用示例
2016/07/07 Python
Python的collections模块中的OrderedDict有序字典
2016/07/07 Python
django1.8使用表单上传文件的实现方法
2016/11/04 Python
PyQt5每天必学之布局管理
2018/04/19 Python
python获取url的返回信息方法
2018/12/17 Python
解决Pycharm界面的子窗口不见了的问题
2019/01/17 Python
详解查看Python解释器路径的两种方式
2020/10/15 Python
python反扒机制的5种解决方法
2021/02/06 Python
十八大报告观后感
2014/01/28 职场文书
经贸专业毕业生求职信
2014/03/23 职场文书
学习张林森心得体会
2014/09/10 职场文书
2014年平安夜寄语
2014/12/08 职场文书
元宵节寄语大全
2015/02/27 职场文书
低端且暴利的线上线下创业项目分享
2019/09/03 职场文书
python实现语音常用度量方法的代码详解
2021/05/25 Python
《乙女游戏世界对路人角色很不友好》OP主题曲无字幕动画MV公开
2022/04/05 日漫