Traceback (most recent call last): File "C:\Users\ZHANG\PycharmProjects\pythonProject3\yunxin.py", line 690, in <module> main() File "C:\Users\ZHANG\PycharmProjects\pythonProject3\yunxin.py", line 410, in main b.move(1.2) File "C:\Users\ZHANG\PycharmProjects\pythonProject3\bullet.py", line 67, in move self.rect.midtop[1] += self.vy * dt + 0.5 * self.gravity * dt ** 2 TypeError: 'tuple' object does not support item assignment
时间: 2023-06-17 15:06:33 浏览: 323
这个错误是由于 `self.rect.midtop[1]` 是一个元组,元组是不可变的,所以无法进行赋值操作。你可以将其转换为列表,进行修改后再转换回元组,或者使用 `move_ip` 方法来移动矩形。例如:
```
self.rect.midtop = [self.rect.midtop[0], self.rect.midtop[1] + self.vy * dt + 0.5 * self.gravity * dt ** 2]
```
或者:
```
self.rect.move_ip(0, self.vy * dt + 0.5 * self.gravity * dt ** 2)
```
相关问题
Traceback (most recent call last): File "C:\Users\ZHANG\PycharmProjects\pythonProject3\yunxin.py", line 690, in <module> main() File "C:\Users\ZHANG\PycharmProjects\pythonProject3\yunxin.py", line 410, in main b.move(1.2) File "C:\Users\ZHANG\PycharmProjects\pythonProject3\bullet.py", line 66, in move self.rect.midtop += self.vy * dt + 0.5 * self.gravity * dt ** 2 TypeError: can only concatenate tuple (not "float") to tuple
这个错误是因为在bullet.py文件的第66行,`self.rect.midtop`是一个元组,不能直接与`self.vy * dt + 0.5 * self.gravity * dt ** 2`相加。你需要将元组转换为列表,然后再进行计算,最后再将其转换回元组。你可以将第66行修改为如下所示:
```
self.rect.midtop = list(self.rect.midtop)
self.rect.midtop[1] += self.vy * dt + 0.5 * self.gravity * dt ** 2
self.rect.midtop = tuple(self.rect.midtop)
```
这样就可以避免这个错误了。
运行报错C:\Users\Administrator\PycharmProjects\pythonProject\venv\Scripts\python.exe C:/Users/Administrator/PycharmProjects/pythonProject/main.py Traceback (most recent call last): File "C:/Users/Administrator/PycharmProjects/pythonProject/main.py", line 1, in <module> import pymysql ModuleNotFoundError: No module named 'pymysql'
这个错误提示是因为你的项目中没有安装pymysql模块,你需要在命令行中输入以下命令来安装pymysql模块:
```
pip install pymysql
```
如果你使用的是PyCharm开发环境,可以直接在PyCharm的Terminal中输入以上命令,也可以在PyCharm的Project Interpreter中搜索pymysql并安装。安装完成后,重新运行你的代码即可。
阅读全文