利用python编写一个汇率计算器

发布时间:2020-11-10 15:03:44

来源:亿速云

阅读:137

作者:Leah

这篇文章运用简单易懂的例子给大家介绍利用python编写一个汇率计算器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

调用的api接口:

https://api.exchangerate-api.com/v4/latest/USD

完整代码

import requests

from tkinter import *

import tkinter as tk

from tkinter import ttk

class RealTimeCurrencyConverter():

def __init__(self,url):

self.data = requests.get(url).json()

self.currencies = self.data['rates']

def convert(self, from_currency, to_currency, amount):

initial_amount = amount

if from_currency != 'USD' :

amount = amount / self.currencies[from_currency]

amount = round(amount * self.currencies[to_currency], 4)

return amount

class App(tk.Tk):

def __init__(self, converter):

tk.Tk.__init__(self)

self.title = 'Currency Converter'

self.currency_converter = converter

self.geometry("500x200")

self.intro_label = Label(self, text = 'Welcome to Real Time Currency Convertor', fg = 'blue', relief = tk.RAISED, borderwidth = 3)

self.intro_label.config(font = ('Courier',15,'bold'))

self.date_label = Label(self, text = f"1 Indian Rupee equals = {self.currency_converter.convert('INR','USD',1)} USD \n Date : {self.currency_converter.data['date']}", relief = tk.GROOVE, borderwidth = 5)

self.intro_label.place(x = 10 , y = 5)

self.date_label.place(x = 160, y= 50)

valid = (self.register(self.restrictNumberOnly), '%d', '%P')

self.amount_field = Entry(self,bd = 3, relief = tk.RIDGE, justify = tk.CENTER,validate='key', validatecommand=valid)

self.converted_amount_field_label = Label(self, text = '', fg = 'black', bg = 'white', relief = tk.RIDGE, justify = tk.CENTER, width = 17, borderwidth = 3)

self.from_currency_variable = StringVar(self)

self.from_currency_variable.set("INR")

self.to_currency_variable = StringVar(self)

self.to_currency_variable.set("USD")

font = ("Courier", 12, "bold")

self.option_add('*TCombobox*Listbox.font', font)

self.from_currency_dropdown = ttk.Combobox(self, textvariable=self.from_currency_variable,values=list(self.currency_converter.currencies.keys()), font = font, state = 'readonly', width = 12, justify = tk.CENTER)

self.to_currency_dropdown = ttk.Combobox(self, textvariable=self.to_currency_variable,values=list(self.currency_converter.currencies.keys()), font = font, state = 'readonly', width = 12, justify = tk.CENTER)

self.from_currency_dropdown.place(x = 30, y= 120)

self.amount_field.place(x = 36, y = 150)

self.to_currency_dropdown.place(x = 340, y= 120)

self.converted_amount_field_label.place(x = 346, y = 150)

self.convert_button = Button(self, text = "Convert", fg = "black", command = self.perform)

self.convert_button.config(font=('Courier', 10, 'bold'))

self.convert_button.place(x = 225, y = 135)

def perform(self):

amount = float(self.amount_field.get())

from_curr = self.from_currency_variable.get()

to_curr = self.to_currency_variable.get()

converted_amount = self.currency_converter.convert(from_curr,to_curr,amount)

converted_amount = round(converted_amount, 2)

self.converted_amount_field_label.config(text = str(converted_amount))

def restrictNumberOnly(self, action, string):

regex = re.compile(r"[0-9,]*?(\.)?[0-9,]*$")

result = regex.match(string)

return (string == "" or (string.count('.') <= 1 and result is not None))

if __name__ == '__main__':

url = 'https://api.exchangerate-api.com/v4/latest/USD'

converter = RealTimeCurrencyConverter(url)

App(converter)

mainloop()

运行效果:

关于利用python编写一个汇率计算器就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

利用android实现汇率计算器,利用python编写一个汇率计算器相关推荐

  1. python编写一个简单计算器_如何用Tkinter写个简单计算器

    上机实践课程开始了,嗯,老师来了之后念了下PPT,然后说:开始做吧......... 然后就开始了Python的GUI之路,以前没接触过PYthon的可视化界面(虽然这样很不明智) 但是现在做起来感觉 ...

  2. 用php实现加减乘除计算器,利用php怎么编写一个加减乘除计算器

    利用php怎么编写一个加减乘除计算器 发布时间:2021-01-16 11:22:55 来源:亿速云 阅读:99 作者:Leah 利用php怎么编写一个加减乘除计算器?很多新手对此不是很清楚,为了帮助 ...

  3. 利用Python编写一个高斯正反算程序

    一.前言 这次的高斯正反算程序是使用的Python编写的. 环境信息是:Win10.PyCharm 2021.3.1.PySide6 6.3.1.Python 3.9.9,基于QT Designer设 ...

  4. python数据预测_利用Python编写一个数据预测工具

    利用Python编写一个数据预测工具 发布时间:2020-11-07 17:12:20 来源:亿速云 阅读:96 这篇文章运用简单易懂的例子给大家介绍利用Python编写一个数据预测工具,内容非常详细 ...

  5. python中用于释放类占用的资源的方法是()_编写一个简易计算器,要求根据输入的数字和四则运算符号,计算运算结果并输出。_学小易找答案...

    [简答题]20191220 课前作业 新工作页4.1的3-5-3页的填空题,参考教材P135-P144 [简答题]AutoCAD改编视图,尽量不用虚线 1. 主视图采用局部剖,表达右上角小圆筒(及孔) ...

  6. “以计算律师费、诉讼费为例”:分段计费计算器的python编写

    "以计算律师费.诉讼费为例":分段计费计算器的python编写 分段计费--就是把计费的标的物分成几个段,按照各段的不同分别计算价格. 在我们日常的生活中处处都存在简单的分段计费, ...

  7. 如何用Python编写一个求 1到n阶乘之和的程序

    各位许久不见了,甚是想念! 前段时间我进入高中阶段学习,一直还没有适应,现在好些了就继续写博客了. 看到很多人关注我,点赞或是评论,我感觉太高兴了! C语言这块我暂时先放下了,我想自己学学Python ...

  8. Pycharm 金融Python实战二:用Python编写一个金融计算器——编写函数 调用命令 实例年金现值 利率换算 净现值法 投资回报期 内部收益率及其法则(带程序和结果)

    用Python编写一个金融计算器 1.编写不需要保存的Python函数 编写简单的计算未来现金的现值的数学公式 def pv_f(fv,r,n):return fv/(1+r)**n print(pv ...

  9. 使用Python编写一个渗透测试探测工具

    本篇将会涉及: 资源探测 一个有用的字典资源 第一个暴力探测器 文章首发:zmister.com/archives/18- 资源探测 资源探测在渗透测试中还是属于资源的映射和信息的收集阶段. 主要有以 ...

最新文章

  1. 《OpenCV3编程入门》学习笔记9 直方图与匹配(五)模板匹配
  2. 基于SharePoint 2013的论坛解决方案[开源]
  3. C语言二级指针内存模型建立
  4. java clone 序列化_关于Java对象深度Clone以及序列化与反序列化的使用
  5. Unity3D性能优化之Draw Call Batching
  6. 我算是优秀的程序员吗?
  7. linux安装 tomcat 6 笔记
  8. MQ发送的消息都到了死信队列中了
  9. 一位北美 IT 技术人教你如何破局
  10. WorkPlus即时通讯软件,满足政企局域网办公需求
  11. html表格制作步骤详解,HTML网页表单制作详细讲解
  12. linux 命令:which详解
  13. python数学建模
  14. 独角兽扎堆新加坡,Shopee、Lazada们究竟看见了怎样的未来?
  15. ubuntu18.04 全局美化-------最全
  16. 阿里巴巴副总裁肖力:云原生安全下看企业新边界——身份管理
  17. SSH 的优点和缺点
  18. 预测:华为即将发生的十件大事
  19. 温度信号波形c 语言,基于CC2530的温度报警器的应用实现
  20. [转贴]Linux系统下复杂文字打印

热门文章

  1. BZOJ 1050 [HAOI2006]旅行comf(并查集)
  2. 比特率 波特率 数据传输速率 区别
  3. Bumping制程简介
  4. 穆大叔:18年生涯让我抬头挺胸 我是像士兵般离开
  5. javaGUI学习47:Swing-进度条、滑杆和分隔条
  6. 一个C#版的多选题选项及判分设计方案
  7. 精品丨DAX性能优化问题
  8. 超星/智慧树 网课答案查询 高正确率
  9. html自动对齐快捷键,Sketch 技巧:好用的对齐快捷键(附设置教程)
  10. 计算机电源的功能,电源屏主要功能及工作原理