You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

网页爬取后如何将USD价格列表转换为AUD(汇率1:1.32)

没问题,我来帮你搞定这个汇率转换的需求!你的思路完全正确——先把字符串转成浮点数,再乘以汇率,最后格式化回货币格式就行。咱们一步步来修改你的代码:

首先先修正原代码里的几个小细节:

  • import语句要分开写,不符合Python规范的写法可能会引发报错
  • 列表推导式里的变量名重复了,容易造成混淆
  • 用range(10)遍历不如直接遍历列表更直观、Pythonic

然后是核心的转换步骤:

  1. 提取到USD价格的数字字符串后,用[:10]截取前10条,满足你的需求
  2. 把每个字符串转成float类型,这样才能进行乘法运算
  3. 乘以汇率1.32后,用round()保留两位小数(货币通常保留两位精度)
  4. 最后用f-string格式化输出成你想要的$XXX.XX => $YYY.YY格式

下面是修改后的完整代码:

from tkinter import *
from re import findall, MULTILINE

rss = open('rss.xhtml', encoding="utf8").read()
# 提取价格数字并只保留前10条
usd_price_strings = findall(r'([0-9]+[.]*[0-9]*) USD', rss)[:10]

# 遍历每条价格完成转换并输出
for price_str in usd_price_strings:
    # 字符串转浮点数
    usd_price = float(price_str)
    # 计算AUD价格并保留两位小数
    aud_price = round(usd_price * 1.32, 2)
    # 格式化输出示例格式
    print(f"${price_str} => ${aud_price:.2f}")

如果你喜欢更简洁的写法,也可以用列表推导式一次性生成所有转换后的字符串:

from tkinter import *
from re import findall, MULTILINE

rss = open('rss.xhtml', encoding="utf8").read()
usd_price_strings = findall(r'([0-9]+[.]*[0-9]*) USD', rss)[:10]

# 用列表推导式生成转换后的结果
converted_results = [
    f"${usd} => ${round(float(usd)*1.32, 2):.2f}"
    for usd in usd_price_strings
]

# 逐个输出
for result in converted_results:
    print(result)

这样运行后就能得到你给出的示例那样的输出啦!

内容的提问来源于stack exchange,提问作者Twisted Fate

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 10:01:49