PyCharm报TypeError: pretty_print()仅接受1个参数却传入2个,求解决
解决TypeError: pretty_print() takes 1 positional argument but 2 were given错误
问题根源
你的代码有两处问题直接导致了这个错误:
- pprint参数传递错误:你把积分区间
(t, 0, t)作为第二个参数传给了pprint,但pprint仅接受一个待打印的表达式参数,这就触发了“参数数量不匹配”的报错。 - 初始化函数未调用:
printing.init_printing没有加括号,无法完成SymPy打印环境的初始化。
修正后的代码
from IPython.display import display from sympy import * from sympy.interactive import printing printing.init_printing() # 补全括号,完成初始化 t = symbols('t') a=5 b=3 # 将积分区间作为第二个参数传给integrate函数,而非pprint integral_result = integrate( 1 + a/b + (a/b - 1)*sinh(a*t)*sin(b*t) - (a/b + 1)*cosh(a*t)*cos(b*t) + sinh(a*t)*cos(b*t) - a/b*cosh(a*t)*sin(b*t), (t, 0, t) ) pprint(integral_result)
修正说明
- 补全
printing.init_printing()的括号,让初始化函数生效,确保SymPy能正确格式化输出。 - 把积分区间参数移到
integrate函数内部,让integrate正确计算定积分,再将计算结果传给pprint打印,保证pprint仅接收一个参数。
内容的提问来源于stack exchange,提问作者Soumia
相关产品推荐
相关产品推荐

