题目描述
记账本上记录了若干条多国货币金额,需要转换成人民币分(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))