python - 解决 sqrt 函数 Python 中的 TypeError 错误
问题描述
所以我有这段代码,当我尝试使用该数学库的 sqrt 函数作为距离公式时收到错误消息。
有人可以帮我解决这个 TypeError 吗?
import math
def isCollision(basketX, basketY, appleX, appleY):
distance = math.sqrt((math.pow(basketX - appleX, 2)) + (math.pow(basketY - appleY, 2)))
if distance < 27:
return True
else:
return False
collision = isCollision(basketX[i], basketY[i], appleX, appleY)
if collision:
score_value += 1
appleX[i] = random.randint(0, 735)
appleY[i] = random.randint(0, 150)
这是我收到的错误(注意:这是更大代码的一小部分,这就是为什么它说第 101 行):
Traceback (most recent call last):
File "C:/Users/shaha/PycharmProjects/ApplePicker/main.py", line 101, in <module>
collision = isCollision(basketX[i], basketY[i], appleX, appleY)
TypeError: 'int' object is not subscriptable
解决方案
basketX
并且basketY
似乎是 typeint
而不是 type list
,因此您无法通过basketX[i]
or访问任何信息basketY[i]
。
尝试将basketX
andbasketY
直接传递给函数。
推荐阅读
- c# - 只有在等待返回的任务后才最终执行?
- html - Prettier 不格式化 HTML
- ios - 错误处理:在范围内找不到特定错误
- css - 有没有办法使用其他 css 类来编写 css 类?
- design-patterns - 如何设计聚合根?
- c# - 打开的文件没有上传
- python - delete() 上的 SqlAlchemy 错误:“在调用 join()、outerjoin()、select_from() 或 from_self() 时无法调用 Query.update() 或 Query.delete()”
- proxmox - 不支持 Proxmox 创建 VLAN
- css - 具有多个颜色行的悬停表
- python - Django 不能删除对象,也不能重定向