软件名称:期末Python程序--汇率转换器
软件版本:1.1.6(中途改善六次)
作者:张一诺 陆渝汶
以下是相关代码
#China People's Police University
#Yi nuo Chang & Yu wen Lu
import tkinter as tk
#导入 Tkinter 模块并使用别名 tk。
from tkinter import ttk
#导入 ttk 子模块以使用 ttk 组件。
from currency_converter import CurrencyConverter
#: 导入 currency_converter 模块,用于进行货币转换。
window = tk.Tk()
#创建一个名为 window 的 Tkinter 窗口。
window.geometry('500x200+500+250')
#调整程序大小和位置,使其大小适中,位置位于电脑屏幕的中央位置
window.title("期末Python程序--汇率转换器 张一诺 陆渝汶")
#设置窗口标题为“期末Python程序--汇率转换器 张一诺 陆渝汶”。
# 创建标签和文本框
currency_from_label = ttk.Label(window, text="原始货币类型:")
#创建一个 ttk.Label 组件并设置其文本为“原始货币类型:”,并将其放置在窗口中。
currency_from_label.grid(column=0, row=0, padx=20, pady=20)
#在窗口中的第 0 行、第 0 列放置组件,并设置 x 方向和 y 方向的边距分别为 20 个像素。
amount_label = ttk.Label(window, text="金额:")
#创建标签“金额:”。
amount_label.grid(column=0, row=1)
#在窗口中的第 1 行、第 0 列放置标签。
currency_to_label = ttk.Label(window, text="转换货币类型:")
#创建标签“转换货币类型:”。
currency_to_label.grid(column=0, row=2, padx=20, pady=20)
#在窗口中的第 2 行、第 0 列放置标签,并设置 x 方向和 y 方向的边距分别为 20 个像素。
currency_from_combo = ttk.Combobox(window, width=10, state='readonly')
#创建 ttk.Combobox 组件,并将其设为只读状态。
currency_from_combo.grid(column=1, row=0)
#在窗口中的第 0 行、第 1 列放置组件。
currency_from_combo['values'] = ['CNY']
America=('USD',)
currency_from_combo['values'] = currency_from_combo['values'] + America
#美国-美元
Australia=('AUD',)
currency_from_combo['values'] = currency_from_combo['values'] + Australia
#澳大利亚-澳大利亚元
Brazil=('BRL',)
currency_from_combo['value' ] = currency_from_combo['values'] + Brazil
#巴西-巴西雷亚尔
Bulgaria=('BGN',)
currency_from_combo['value' ] = currency_from_combo['values'] + Bulgaria
#保加利亚-保加利亚列弗
Canada=('CAD',)
currency_from_combo['value' ] = currency_from_combo['values'] + Canada
#加拿大-加拿大元
Switzerland=('CHF',)
currency_from_combo['value' ] = currency_from_combo['values'] + Switzerland
#瑞士-瑞士法郎
Denmark=('DKK',)
currency_from_combo['value' ] = currency_from_combo['values'] + Denmark
#丹麦-丹麦克朗
Europe=('EUR',)
currency_from_combo['value' ] = currency_from_combo['values'] + Europe
#欧洲地区-欧元
Britain=('GBP',)
currency_from_combo['value' ] = currency_from_combo['values'] + Britain
#英国-英镑
Hongkong=('HKD',)
currency_from_combo['value' ] = currency_from_combo['values'] + Hongkong
#香港-港币
Hungary=('HUF',)
currency_from_combo['value' ] = currency_from_combo['values'] + Hungary
#匈牙利-匈牙利福林
Iceland=('ISK',)
currency_from_combo['value' ] = currency_from_combo['values'] + Iceland
#冰岛-冰岛克朗
India=('INR',)
currency_from_combo['value' ] = currency_from_combo['values'] + India
#印度-印度币
Indonesia=('IDR',)
currency_from_combo['value' ] = currency_from_combo['values'] + Indonesia
#印度尼西亚-印度尼西亚盾
Israel=('ILS',)
currency_from_combo['value' ] = currency_from_combo['values'] + Israel
#以色列-以色列新谢克尔
Japan=('JPY',)
currency_from_combo['value' ] = currency_from_combo['values'] + Japan
#日本-日元
Southkorea=('KRW',)
currency_from_combo['value' ] = currency_from_combo['values'] + Southkorea
#韩国-韩币
Malaysian_ringgit=('MYR',)
currency_from_combo['value' ] = currency_from_combo['values'] + Malaysian_ringgit
#马来西亚-林吉特
Mexican_Peso=('MXN',)
currency_from_combo['value' ] = currency_from_combo['values'] + Mexican_Peso
#墨西哥-墨西哥比索
New_Zealand=('NZD',)
currency_from_combo['value' ] = currency_from_combo['values'] + New_Zealand
#新西兰-新西兰元
Norwegian_krona=('NOK',)
currency_from_combo['value' ] = currency_from_combo['values'] + Norwegian_krona
#挪威-挪威克朗
Philippine_Peso=('PHP',)
currency_from_combo['value' ] = currency_from_combo['values'] + Philippine_Peso
#菲律宾-菲律宾比索
Polish_zloty=('PLN',)
currency_from_combo['value' ] = currency_from_combo['values'] + Polish_zloty
#波兰-波兰兹罗提
Romanian_lei=('RON',)
currency_from_combo['value' ] = currency_from_combo['values'] + Romanian_lei
#罗马尼亚-罗马尼亚列伊
Singapore=('SGD',)
currency_from_combo['value' ] = currency_from_combo['values'] + Singapore
#新加坡-新元
South_African_rand=('ZAR',)
currency_from_combo['value' ] = currency_from_combo['values'] + South_African_rand
#南非-南非兰特
Swedish_krona=('SEK',)
currency_from_combo['value' ] = currency_from_combo['values'] + Swedish_krona
#瑞典-瑞典克朗
Korea=('KRW',)
currency_from_combo['value'] = currency_from_combo['values'] + Korea
#朝鲜-朝鲜元
Thailand=('THB',)
currency_from_combo['value'] = currency_from_combo['values'] + Thailand
#泰国-泰国铢
#设置组件的选项。
currency_from_combo.current(0)
#设置当前选中的选项为第 0 项。
amount_entry = ttk.Entry(window, width=50)
#创建 ttk.Entry 组件,并设置其宽度为 50 个字符。
amount_entry.grid(column=1, row=1)
#在窗口中的第 1 行、第 1 列放置组件。
amount_entry.focus()
#设置窗口焦点在此组件上。
currency_to_combo = ttk.Combobox(window, width=10, state='readonly')
#创建 ttk.Combobox 组件,并将其设为只读状态。
currency_to_combo.grid(column=1, row=2)
#在窗口中的第 2 行、第 1 列放置组件。
currency_to_combo['values'] = ['CNY']
#设置组件的选项。
America=('USD',)
currency_to_combo['values'] = currency_to_combo['values'] + America
#美国-美元
Australia=('AUD',)
currency_to_combo['values'] = currency_to_combo['values'] + Australia
#澳大利亚-澳大利亚元
Brazil=('BRL',)
currency_to_combo['value' ] = currency_to_combo['values'] + Brazil
#巴西-巴西雷亚尔
Bulgaria=('BGN',)
currency_to_combo['value' ] = currency_to_combo['values'] + Bulgaria
#保加利亚-保加利亚列弗
Canada=('CAD',)
currency_to_combo['value' ] = currency_to_combo['values'] + Canada
#加拿大-加拿大元
Switzerland=('CHF',)
currency_to_combo['value' ] = currency_to_combo['values'] + Switzerland
#瑞士-瑞士法郎
Denmark=('DKK',)
currency_to_combo['value' ] = currency_to_combo['values'] + Denmark
#丹麦-丹麦克朗
Europe=('EUR',)
currency_to_combo['value' ] = currency_to_combo['values'] + Europe
#欧洲地区-欧元
Britain=('GBP',)
currency_to_combo['value' ] = currency_to_combo['values'] + Britain
#英国-英镑
Hongkong=('HKD',)
currency_to_combo['value' ] = currency_to_combo['values'] + Hongkong
#香港-港币
Hungary=('HUF',)
currency_to_combo['value' ] = currency_to_combo['values'] + Hungary
#匈牙利-匈牙利福林
Iceland=('ISK',)
currency_to_combo['value' ] = currency_to_combo['values'] + Iceland
#冰岛-冰岛克朗
India=('INR',)
currency_to_combo['value' ] = currency_to_combo['values'] + India
#印度-印度币
Indonesia=('IDR',)
currency_to_combo['value' ] = currency_to_combo['values'] + Indonesia
#印度尼西亚-印度尼西亚盾
Israel=('ILS',)
currency_to_combo['value' ] = currency_to_combo['values'] + Israel
#以色列-以色列新谢克尔
Japan=('JPY',)
currency_to_combo['value' ] = currency_to_combo['values'] + Japan
#日本-日元
Southkorea=('KRW',)
currency_to_combo['value' ] = currency_to_combo['values'] + Southkorea
#韩国-韩币
Malaysian_ringgit=('MYR',)
currency_to_combo['value' ] = currency_to_combo['values'] + Malaysian_ringgit
#马来西亚-林吉特
Mexican_Peso=('MXN',)
currency_to_combo['value' ] = currency_to_combo['values'] + Mexican_Peso
#墨西哥-墨西哥比索
New_Zealand=('NZD',)
currency_to_combo['value' ] = currency_to_combo['values'] + New_Zealand
#新西兰-新西兰元
Norwegian_krona=('NOK',)
currency_to_combo['value' ] = currency_to_combo['values'] + Norwegian_krona
#挪威-挪威克朗
Philippine_Peso=('PHP',)
currency_to_combo['value' ] = currency_to_combo['values'] + Philippine_Peso
#菲律宾-菲律宾比索
Polish_zloty=('PLN',)
currency_to_combo['value' ] = currency_to_combo['values'] + Polish_zloty
#波兰-波兰兹罗提
Romanian_lei=('RON',)
currency_to_combo['value' ] = currency_to_combo['values'] + Romanian_lei
#罗马尼亚-罗马尼亚列伊
Singapore=('SGD',)
currency_to_combo['value' ] = currency_to_combo['values'] + Singapore
#新加坡-新元
South_African_rand=('ZAR',)
currency_to_combo['value' ] = currency_to_combo['values'] + South_African_rand
#南非-南非兰特
Swedish_krona=('SEK',)
currency_to_combo['value' ] = currency_to_combo['values'] + Swedish_krona
#瑞典-瑞典克朗
Korea=('KRW',)
currency_to_combo['value'] = currency_to_combo['values'] + Korea
#朝鲜-朝鲜元
Thailand=('THB',)
currency_to_combo['value'] = currency_to_combo['values'] + Thailand
#泰国-泰国铢
currency_to_combo.current(1)
#设置当前选中的选项为第 1 项。
# 创建转换函数
def convert_currency():
#创建名为 convert_currency 的函数。
converter = CurrencyConverter()
#创建 CurrencyConverter 对象。
currency_from = currency_from_combo.get()
#获取组件 currency_from_combo 中的值。
currency_to = currency_to_combo.get()
#获取组件 currency_to_combo 中的值。
amount = float(amount_entry.get())
#获取组件 amount_entry 中的值,转换为浮点型。
converted_amount = converter.convert(amount, currency_from, currency_to)
#使用CurrencyConverter对象的convert方法进行货币转换。
result_label.configure(text=f"{amount} {currency_from} = {converted_amount:.4f} {currency_to}")
#在 result_label 标签中显示转换结果。
# 创建按钮和结果标签
convert_button = ttk.Button(window, text="转换", command=convert_currency)
#创建 ttk.Button 组件,设置其文本为“转换”,并将其关联到 convert_currency 函数。
convert_button.grid(column=0, row=3, padx=20, pady=20)
#在窗口中的第 3 行、第 0 列放置组件,并设置 x 方向和 y 方向的边距分别为 20 个像素。
result_label = ttk.Label(window, text="请输入数据")
#创建 ttk.Label 组件,并将其文本设为空字符串。
result_label.grid(column=1, row=3)
#在窗口中的第 3 行、第 1 列放置组件
# 运行窗口
window.mainloop()
#运行窗口并进入主事件循环。
简要介绍和使用目的:
汇率转换器是一款可以将不同货币相互转换的在线工具,使用者可以根据实时汇率进行货币转换。该软件将支持包括人民币、美元、澳大利亚元、巴西雷亚尔、保加利亚列弗、加拿大元、瑞士法郎、丹麦克朗、欧元、英镑、港币、匈牙利福林、冰岛克朗、印度币、印度尼西亚盾、以色列新谢克尔、日元、韩币、林吉特、墨西哥比索、新西兰元、挪威克朗、菲律宾比索、波兰兹罗提、罗马尼亚列伊、新元、南非兰特、瑞典克朗、朝鲜元、泰国铢等在内的常用货币进行汇率转换,使得用户可以方便地进行货币转换。
硬件要求:
操作系统:Windows 7或更高版本
内存:至少4GB RAM
处理器:Intel Core i5或更高版本
硬盘空间:至少100MB
使用说明:
在Jupiter Notebook或PyCharm中运行代码后,出现一个小程序.。如图
选择需要转换的货币类型,其中,货币类型以货币缩写英文大写的形式显示。
输入需要转换的货币金额。
单击“请输入数据并开始转换”按钮即可将货币转换为另一种货币类型,并输出转换后的金额结果与对应原始货币的金额。
功能特点和优点:
a. 该软件准确实用,可以根据实时货币汇率进行货币转换,并能够显示转换后的结果。
b. 该软件简便易用,操作简单,对用户友好。
c. 该软件除了货币类型为国际通用的大写英文缩写,其余皆是中文,方便使用
d. 该软件对应代码简单,可供大众开源定制,成为方便自己使用的汇率转换器。例如,母语为西班牙语的人可以将提示文字从中文转换为更习惯的西班牙语。
e.该软件基本在每段代码底下,都会有详细的中文注释,因此每位用户,即是Python理论基础不佳,都能对代码理解并修正
局限性和瑕疵:
a. 该软件目前仅支持有限种货币,如果加入更多的货币类型,将需要不断更新汇率数据。
b. 该软件需要可靠的网络连接,以便检查实时汇率信息,网络不稳定将会影响软件的使用体验。
c. 对于中文语言用户,该软件所提供的货币类型为英文大写缩写,一般非相关行业人员使用需要查询货币类型,影响使用体验。
d. 此程序的汇率转换依赖模块currency_converter,不得不承认,在该模块中,不少国家和地区的货币仍没有收录与更新,导致参与汇率转换的货币类型只能是国际较为通用的货币,而无法应用一些不知名国家或地区的货币类型,给少数地区人民带来了不方便。
常见问题和解决方案:
Q: 转换后的金额与我预期的不符,该怎么办?
A: 确保货币类型正确,并仔细检查输入的金额是否正确。如仍然存在问题,可以尝试联系作者寻求帮助。
Q: 该软件支持哪些货币类型?
A: 该软件支持主要的国际货币类型,包括人民币、美元、澳大利亚元、巴西雷亚尔、保加利亚列弗、加拿大元、瑞士法郎、丹麦克朗、欧元、英镑、港币、匈牙利福林、冰岛克朗、印度币、印度尼西亚盾、以色列新谢克尔、日元、韩币、林吉特、墨西哥比索、新西兰元、挪威克朗、菲律宾比索、波兰兹罗提、罗马尼亚列伊、新元、南非兰特、瑞典克朗、朝鲜元、泰国铢等。
Q: 我的电脑上无法打开该软件,该怎么办?
A: 确保你的操作系统符合软件的最低系统要求,并检查你的电脑是否缺少所需的软件和配置。如仍然存在问题,可以尝试联系作者寻求帮助。
Q: 根据源码定制我所在国家或地区的语言专属程序,该怎么改造?
A:代码16行,text=’原始货币类型:’中的中文转换为所在国家或地区对应语言,同理,代码20行、24行、240行中类似对中文进行转换
联系方式和反馈形式:
a. 作者:张一诺 陆渝汶
b. 电子邮件:
张:2707580183@qq.com
陆:1580128391@qq.com
c. 问题反馈:
中国人民警察大学廊坊校区张一诺
中国人民警察大学廊坊校区陆渝汶