用Python编写程序查找两种货币转换率
现在的全球化时代,货币兑换是经常需要处理的问题。在日常生活中如果你收到了外币,或是你去了旅游,需要进行货币兑换,那么就需要掌握货币转换率信息。本文将使用Python编写程序,获取两种货币之间的转换率信息。
前置知识
在编写程序前,需要获得两个准确的货币代码,以及能够实现货币转换的接口。在这里介绍一个可供查询货币代码及货币转换的网站:Open Exchange Rates API.
使用该接口需要注册账号并获取app id,如果需要使用更完整的功能还需要支付费用,但是在获得app id后,获取货币转换率的基本操作是免费的。
编写Python程序
首先导入需要用到的package:requests,json,它们可以通过pip安装。
import requests
import json
构建请求链接,由于需要使用app id进行授权,因此需要将app id作为参数添加到请求链接中。
url = "https://openexchangerates.org/api/latest.json?app_id=YOUR_APP_ID"
其中“YOUR_APP_ID”需要替换成自己获得的app id。
使用requests向API发送请求,然后将返回的数据解析成Python中的字典类型并打印出来。
response = requests.get(url)
data = json.loads(response.text)
print(data)
此时将得到如下结果:
{
"disclaimer": "Usage subject to terms: https://openexchangerates.org/terms",
"license": "https://openexchangerates.org/license",
"timestamp": 1614459601,
"base": "USD",
"rates": {
"AED": 3.67308,
"AFN": 77.79488,
"ALL": 103.725744,
"AMD": 524.363066,
"ANG": 1.790801,
"AOA": 639.161772,
"ARS": 91.323679,
"AUD": 1.283689,
"AWG": 1.794157,
"AZN": 1.700805,
"BAM": 1.633925,
"BBD": 2.020417,
...
}
}
该结果包含了货币转换率信息,其中基准货币是美元(USD),而我们需要的是两个特定货币之间的转换率。因此需要对数据进行进一步解析。
设需要转换的货币为“currency1”和“currency2”,那么我们只需访问“rates”字典中的“currency1”和“currency2”对应的键值就可以获得它们之间的转换率了。
currency1 = "USD"
currency2 = "CNY"
exchange_rate = data['rates'][currency2] / data['rates'][currency1]
print(f"1 {currency1} = {exchange_rate} {currency2}")
这里通过除法计算将1个“currency1”转换成“currency2”所需要的金额,然后输出转换率结果。
例如,当currency1为USD,currency2为CNY时,运行上述代码输出的结果为:
1 USD = 6.5043 CNY
完整代码
最后附上完整代码:
import requests
import json
url = "https://openexchangerates.org/api/latest.json?app_id=YOUR_APP_ID"
response = requests.get(url)
data = json.loads(response.text)
currency1 = "USD"
currency2 = "CNY"
exchange_rate = data['rates'][currency2] / data['rates'][currency1]
print(f"1 {currency1} = {exchange_rate} {currency2}")
其中需要将YOUR_APP_ID替换成自己获得的app id。
结论
通过本文的介绍,我们了解了如何用Python编写程序获取两种货币之间的转换率信息。选择合适的API接口,发送请求并解析返回的数据,就可以获取到想要的信息。同时,在实际开发中也可以扩展代码,从而实现更多的功能,例如批量货币转换、货币汇率变更提醒等。