Python实现汇率转换操作
作者:Juily家的小蜜果
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 利用api获取货币汇率
首先先到fixer.io网站,也就是提供货币汇率接口的网站,网址是:https://fixer.io/,看起来是这样的:
documentation里是接口使用的具体说明,为了使用这个接口首先得申请一个api access key,点击屏幕右上角GET FREE API KEY:
不同价格的api key有不同的功能,当然越贵的功能越好,在这里我们申请免费的API KEY,它提供的访问次数是一个月1000次,可以获得每小时的更新数据,支持的查询有限,比如说只能以欧元为base,同时它还可以查看历史的数据。点击GET FREE API KEY,需要填写个人信息:
示例如下:
有个比较坑的地方就是这个网页必须要有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利用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()
结果:
获取的数据是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实现汇率转换操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。