File "C:\Users\Administrator\.spyder-py3\temp.py", line 58, in <module> principal_i[i] = m - interest_i[i]
时间: 2024-05-20 07:10:29 浏览: 16
这行代码出现了错误。根据代码上下文和错误提示,很可能是因为列表 `principal_i` 或 `interest_i` 中的某个元素不是数字类型,导致无法进行减法运算。你可以检查一下这两个列表中的元素是否都是数字类型,或者在使用前进行类型转换。例如,可以使用 `int()` 函数将元素转换为整数类型。
相关问题
runfile('c:/users/administrator/.spyder-py3/temp.py', wdir='c:/users/administrator/.spyder-py3')
这是一个 Python 中的命令,用于执行指定路径下的 Python 脚本文件,并设置工作目录为指定路径。具体来说,它会在运行时载入并执行 'c:/users/administrator/.spyder-py3/temp.py' 文件,并将当前工作目录更改为 'c:/users/administrator/.spyder-py3'。
为什么上面这段代码结果没有显示对应时间的基金净值,而是出现这样的提示:runfile('C:/Users/刘岩/.spyder-py3/temp.py', wdir='C:/Users/刘岩/.spyder-py3') Traceback (most recent call last): File "C:\Users\刘岩\.spyder-py3\temp.py", line 37, in <module> main() File "C:\Users\刘岩\.spyder-py3\temp.py", line 29, in main nav = get_fund_nav(fund_code) File "C:\Users\刘岩\.spyder-py3\temp.py", line 18, in get_fund_nav nav_rows = nav_table.find_all('tr') AttributeError: 'NoneType' object has no attribute 'find_all'
这个错误是由于在`get_fund_nav`函数中,`nav_table = soup.find('table', class_='w782 comm tzxq')`这行代码返回了`None`,而不是一个有效的表格对象。因此,在之后的代码中调用`find_all`方法时出现了错误。
这种情况通常是因为指定的基金代码对应的基金净值页面的HTML结构与代码中的预期不符。可能是HTML页面结构发生了变化,或者基金代码不正确。
为了解决这个问题,你可以尝试以下几个步骤:
1. 检查基金代码是否正确:确保`fund_code`变量中存储的是有效的基金代码。你可以在东方财富等基金信息网站上确认基金代码是否正确。
2. 检查基金净值页面的HTML结构:使用浏览器开发者工具或其他工具查看基金净值页面的HTML结构,确认表格的class属性是否确实为`'w782 comm tzxq'`。如果不是,你需要更新代码中的相应部分。
3. 检查爬取时间是否正确:确认目标时间`target_time`是否正确设置,并且当前时间是否超过了目标时间。
通过以上步骤,你可以排查错误并解决问题。如果问题仍然存在,请提供更多的错误信息和基金净值页面的HTML结构,以便我能够更好地帮助你解决问题。