欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > 正则表达式---货币单位换算

正则表达式---货币单位换算

2024/10/26 7:39:38 来源:https://blog.csdn.net/TTz012/article/details/142988814  浏览:    关键词:正则表达式---货币单位换算

题目描述
记账本上记录了若干条多国货币金额,需要转换成人民币分(fen),汇总后输出。

每行记录一条金额,金额带有货币单位,格式为数字+单位,可能是单独元,或者单独分,或者元与分的组合。

要求将这些货币全部换算成人民币分(fen)后进行汇总,汇总结果仅保留整数,小数部分舍弃。

元和分的换算关系都是1:100,如下:

1CNY=100fen(1元=100分)

1HKD=100cents(1港元=100港分)

1JPY=100sen(1日元=100仙)

1EUR=100eurocents(1欧元=100欧分)

1GBP=100pence(1英镑=100便士)

汇率表如下:

CNY JPY HKD EUR GBP
100 1825 123 14 12
即:100CNY = 1825JPY = 123HKD = 14EUR = 12GBP

输入描述
第一行输入为N,N表示记录数。0<N<100

之后N行,每行表示一条货币记录,且该行只会是一种货币。

输出描述
将每行货币转换成人民币分(fen)后汇总求和,只保留整数部分。

输出格式只有整数数字,不带小数,不带单位。

用例1
输入
1
100CNY
输出
10000
说明
100CNY转换后是10000fen,所以输出结果为10000

用例2
输入
1
3000fen
输出
3000
说明
3000fen,结果就是3000

用例3
输入
1
123HKD
输出
10000
说明
HKD与CNY的汇率关系是123:100,所以换算后,输出结果为10000

用例4
输入
2
20CNY53fen
53HKD87cents
输出
6432
说明
20元53分 + 53港元87港分,换算成人民币分后汇总,为6432

import repattern=r"(\d+)(CNY|JPY|HKD|EUR|GBP|fen|cents|sen|eurocents|pence)"
exchange_rates={'CNY':100,'JPY':100/1825*100,'HKD':100/123*100,'EUR':100/14*100,'GBP':100/12*100,'fen':1,'cents':100/123,'sen':100/1825,'eurocents':100/14,'pence':100/12
}
n=int(input())
scords = [input() for _ in range(n)]
ans = 0
for scord in scords:result = re.findall(pattern,scord)# print(result)for num,unit in result:ans += int(num)*exchange_rates[unit]
print(int(ans))

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com