-------------- AttributeError Traceback (most recent call last) <ipython-input-1-81e6cd932f6b> in <module> 13 14 # 设置字体 ---> 15 fontStyle = font.Font(family="楷体", size=16) 16 17 class MachineLearningApp: D:\Program Files\a\lib\tkinter\font.py in __init__(self, root, font, name, exists, **options) 91 else: 92 # create new font (raises TclError if the font exists) ---> 93 tk.call("font", "create", self.name, *font) 94 self.delete_font = True 95 self._tk = tk AttributeError: 'NoneType' object has no attribute 'call'这个错误怎么改
时间: 2023-11-30 19:03:25 浏览: 157
这个错误可能是因为 tkinter 模块没有正确导入或安装。你可以尝试重新安装 tkinter 模块,或者检查代码中是否有其他部分影响了 tkinter 的导入。另外,也可以尝试在代码中添加以下导入语句,以确保 tkinter 正确导入:
```python
import tkinter as tk
from tkinter import font
```
如果仍然无法解决问题,请提供更多代码和错误信息,以便更好地帮助你。
相关问题
AttributeError Traceback (most recent call last) <ipython-input-26-7401c2f31978> in <module>
It seems like you are trying to run some code in Python and getting an `AttributeError`. Can you please provide more information about the error, such as the full traceback and the code that you are running?
--------------------------------------------------------------------------- AttributeError Traceback (most recent call last) <ipython-input-38-e22a3acdc24c> in <module> ----> 1 trigonal(M) <ipython-input-37-a88e8395e643> in trigonal(A) 12 for i in range(10): 13 for j in range(10): ---> 14 coeff_matrix[i, j] = T[i, j].coeff(sp.Symbol('a{}'.format(j + 1))) 15 return(coeff_matrix) AttributeError: 'numpy.complex128' object has no attribute 'coeff'会出现这个报错
这个错误是因为 numpy 的 complex128 对象没有 `coeff` 方法。`coeff` 方法是 SymPy 中的方法,用于计算多项式中某个变量的系数。你需要将 T 中的元素转换成 SymPy 中的符号对象后再调用 `coeff` 方法。
修改后的代码如下:
```
import sympy as sp
import numpy as np
def trigonal(A):
# 求出特征向量和特征值
eig_val, eig_vec = np.linalg.eig(A)
# 按照特征值从小到大的顺序将特征向量组成新的矩阵 P
P = eig_vec[:, eig_val.argsort()]
# 计算 P 的逆矩阵 P_inv
P_inv = np.linalg.inv(P)
# 用 P 和 P_inv 三角化矩阵 A
T = np.dot(P_inv, np.dot(A, P))
# 将 T 中的元素转换成 SymPy 中的符号对象,然后计算系数
coeff_matrix = sp.Matrix(np.zeros((10, 10)))
for i in range(10):
for j in range(10):
coeff_matrix[i, j] = sp.Poly(sp.simplify(T[i, j])).coeff(sp.Symbol('a{}'.format(j + 1)))
return(coeff_matrix)
```
在这个修改后的代码中,我们先使用 SymPy 中的 `simplify` 方法将 T 中的元素化简为一个多项式,然后使用 `Poly` 方法将多项式转换成 SymPy 中的多项式对象,最后调用 `coeff` 方法来计算系数。
阅读全文