|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
这是我自己写的代码
- import math
- class Point1:
- p1 = [0,0]
- def getp1(self):
- self.p1[0] = int(input("请输入一个点的坐标x轴的数值:"))
- self.p1[1] = int(input("请输入一个点的坐标y轴的数值:"))
- class Line:
- def __init__(self):
- P1 = Point1()
- P2 = Point1()
-
- print("输入点P1的坐标:")
- P1.getp1()
-
- print("输入点P2的坐标:")
- P2.getp1()
- print(P1.p1)
- print(P2.p1)
- def getLen(self):
- length = math.sqrt((P1.p1[0] - P2.p1[0])**2 + (P1.p1[1] - P2.p1[1])**2)
- print(length)
- l = Line()
复制代码
结果是两个点的坐标都变成第二次输入的了
本帖最后由 heidern0612 于 2019-1-13 09:51 编辑
类属性是共享的,所以一样。
下面这么写就没毛病了:
- import math
- class Point1:
- def __init__(self):
- self.p1 = [0,0]
-
- def getp1(self):
- self.p1[0] = int(input("请输入一个点的坐标x轴的数值:"))
- self.p1[1] = int(input("请输入一个点的坐标y轴的数值:"))
- class Line:
- def __init__(self):
- P1 = Point1()
- P2 = Point1()
-
- print("输入点P1的坐标:")
- P1.getp1()
-
- print("输入点P2的坐标:")
- P2.getp1()
- print(P1.p1)
- print(P2.p1)
- def getLen(self):
- length = math.sqrt((P1.p1[0] - P2.p1[0])**2 + (P1.p1[1] - P2.p1[1])**2)
- print(length)
- l = Line()
复制代码
|
-
|