Python TypeError求助:调用solve()时缺少必需位置参数'df'
解决TypeError: solve() missing 1 required positional argument: 'df'问题
问题代码
用户编写的Python代码如下:
import pandas as pd def solve(df): print(df.loc[0:2, 'Total':'Payment']) df = pd.read_csv('supermarket1.csv', sep=';') solve(df)
报错信息
运行后出现以下错误:
Traceback (most recent call last): File "__tester__.python3", line 37, in <module> solve() TypeError: solve() missing 1 required positional argument: 'df'
排查与解决
核心问题:函数调用未传参
错误提示明确显示,执行代码时存在直接调用solve()的操作,没有传入必填的df参数。请检查测试环境中的实际运行代码,确保调用语句为solve(df),将读取到的DataFrame对象传递给函数。额外修复:函数体缩进错误
原代码中print语句未缩进,不属于solve函数的函数体,会引发语法错误。修正缩进后,函数才能正确执行内部逻辑。
修正后的完整代码
import pandas as pd def solve(df): # 缩进print语句,确保属于函数体 print(df.loc[0:2, 'Total':'Payment']) df = pd.read_csv('supermarket1.csv', sep=';') # 确保调用时传入df参数 solve(df)
内容的提问来源于stack exchange,提问作者Beatriz Gervásio
相关产品推荐
相关产品推荐

