Python實現匯率轉換操作
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實現匯率轉換操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章:
