如何修正Python货币识别逻辑中加元被误判为美元的问题
修正CAD货币的误识别问题
原代码的核心问题是条件判断的优先级顺序错误:通用的$符号检查放在了CAD特殊标识的前面,导致包含$的CAD条目被误判为USD;同时纯CAD标识的条目因为没有匹配到任何条件,也无法被正确识别。
解决思路是把更具体、更特殊的匹配条件放在最前面,先识别CAD相关的条目,再依次判断其他货币符号:
fund = [["$3.3M"], ["£ 4.5Million"],["€900000"],["£ 720000"],["CAD 4.5Million"],["$5.7M"],["£ 7.8 Million"],["CAD $ 9.5Million"]] for i in fund: n = i[0] if "CAD" in n: # 优先识别所有带CAD标识的条目 print("cad") elif "$" in n: print("usd") elif "£" in n: print("Pound") elif "€" in n: print("Euro")
运行修正后的代码,输出结果为:
usd Pound Euro Pound cad usd Pound cad
这样既解决了CAD $被误判为USD的问题,也能正确识别纯CAD标识的加拿大元条目。
内容的提问来源于stack exchange,提问作者Arun Vijay
相关产品推荐
相关产品推荐

