TypeError: this function takes 3 arguments (1 given) GLUT Display callback <function draw at 0x00000257434CEE80> with (),{} failed: returning None this function takes 3 arguments (1 given)
时间: 2023-12-10 19:37:54 浏览: 151
这个错误提示表明你调用了一个需要3个参数的函数,但是你只给了1个参数,因此出现了“TypeError: this function takes 3 arguments (1 given)”的错误。
这通常发生在使用OpenGL库时,比如glutDisplayFunc()函数需要3个参数,但是你只给了1个参数——一个绘制函数draw()的名称。你需要在此函数后面添加两个参数:窗口的宽度和高度,例如:
```python
glutDisplayFunc(draw)
glutInitWindowSize(800, 600)
```
如果你的代码不是使用OpenGL库,那么错误的原因可能是类似的——你调用了需要多个参数的函数,但是只给了一个参数。你需要检查错误提示并找出具体的函数和参数。
相关问题
TypeError: function takes 2 positional arguments but 1 were given
TypeError: function takes 2 positional arguments but 1 were given 是一个常见的错误类型,它表示函数需要接收两个位置参数,但实际只给出了一个参数。这个错误通常发生在函数调用时参数数量不匹配的情况下。
可能的原因有以下几种:
1. 函数定义时参数数量与函数调用时传入的参数数量不一致。
2. 函数调用时传入的参数类型不正确,导致函数无法正确解析参数。
3. 函数调用时传入的参数个数正确,但是参数顺序不正确。
解决这个错误的方法是检查函数定义和函数调用的参数是否匹配,并确保传入的参数数量、类型和顺序都正确。
Traceback (most recent call last): File "<stdin>", line 20, in <module> TypeError: function takes 4 positional arguments but 2 were given
Traceback 提示了一个运行时错误,通常在Python中遇到。它指出在最后一行命令(<stdin>, line 20)之前,程序试图调用一个函数,但是提供的实参数量与函数期望的数量不符。函数原定需要四个位置参数(positional arguments),但实际上只给了两个。这意味着你可能在调用该函数时省略了一些参数,或者传递了多余的参数,导致类型错误(TypeError)。解决这个问题,你需要检查函数的定义,并确保传入的参数数量和类型的顺序匹配。如果函数允许可变数量的参数,可以考虑使用星号操作符(*)来处理剩余的参数。
阅读全文