Python:TypeError:不能将序列乘以'float'类型的非int

use*_*285 6 python

我是新手程序员,试图制作一个解析xml并将其内容粘贴到频道上的irc机器人.通常我会在谷歌上找到我的答案,但这次我找不到答案.

q0tag = dom.getElementsByTagName('hit')[0].toxml()
q0 = q0tag.replace('<hit>','').replace('</hit>','')

q1 = (q0 * 1.2)
Run Code Online (Sandbox Code Playgroud)

当我试图乘以q0它总是显示

TypeError: can't multiply sequence by non-int of type 'float'.
Run Code Online (Sandbox Code Playgroud)

我试图使q0 int或float但它只是犯了另一个错误

AttributeError: 'NoneType' object has no attribute 'replace'
Run Code Online (Sandbox Code Playgroud)

q0值是没有小数的循环数.

jte*_*ace 18

你的q0值仍然是一个字符串.这基本上就是你在做的事情:

>>> q0 = '3'
>>> q1 = (q0 * 1.2)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can't multiply sequence by non-int of type 'float'
Run Code Online (Sandbox Code Playgroud)

要修复它,首先将字符串转换为数字:

>>> q1 = (float(q0) * 1.2)
>>> q1
3.5999999999999996
Run Code Online (Sandbox Code Playgroud)

您可能还想查看用于解析XML 的lxmlBeautifulSoup模块.