我敢肯定人们一直在问这个问题,但为什么我的程序总是收到 TypeError 代码?
下面的代码称为 q1
def rect_bounds(x, y, px, py):
x = 0
y = 0
px = 0
py = 0
if px < x and py < y:
print("point is inside rectangle")
elif px == x or py == y:
print("point is on edge of rectangle")
else:
print("out of bounds")
return x, y, px, py
此代码称为 q1_test
import q1
x = int(input("Enter the length in the x-direction: "))
y = int(input("Enter the length in the y-direction "))
px = int(input("Enter a x-coordinate: "))
py = int(input("Enter a y-coordinate: "))
x, y, px, py = q1.rect_bounds(x, y, px, py) #error comes up here
print()
基本上,代码应该询问用户在 x 和 y 方向上的长度,然后要求用户输入 x 和 y 坐标。然后,代码会告诉用户该点是在矩形内、在矩形的边缘上还是完全在矩形外。我在标记的地方不断收到错误,但我不知道为什么会这样。
错误:
Traceback (most recent call last): File "C:\Users\Michael\Dropbox\mdocs\CP104 Workspace\ostr1470_a9\src\q1_test.py", line 18, in <module> x, y, px, py = q1.rect_bounds(x, y, px, py) TypeError: 'NoneType' object is not iterable
错误不再出现。而是返回: 输入 x 方向的长度: 5 输入 y 方向的长度 5 输入 x 坐标: 2 输入 y 坐标: 2 点在矩形的边缘
(显然不是)