鱼C论坛

 找回密码
 立即注册
查看: 1165|回复: 1

[已解决]关于38课课后作业

[复制链接]
发表于 2018-3-17 15:57:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
定义一个点(Point)类和直线(Line)类,使用 getLen 方法可以获得直线的长度。


import  math
class port:
    def __init__(self,x=0,y=0):
        self.x=x
        self.y=y
    def getpoint(self):
        return (self.x,self.y)

class line:
    def __init__(self,p1,p2):
        self.x=p1.getpoint[0]-p2.getpoint[0]
        self.y=p1.getpoint[1]-p2.getpoint[1]
        self.len=math.sqrt(self.x*self.x+self.y*self.y)
    def getlen(self):
        print(self.len)

为什么self.x=p1.getpoint[0]-p2.getpoint[0]这种写法不可以?
报错TypeError: 'method' object is not subscriptable
望大神指教,谢谢
最佳答案
2018-3-17 16:20:31
  1. self.x=p1.getpoint()[0]-p2.getpoint()[0]
  2.         self.y=p1.getpoint()[1]-p2.getpoint()[1]
复制代码

应该是这样子写。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-3-17 16:20:31 | 显示全部楼层    本楼为最佳答案   
  1. self.x=p1.getpoint()[0]-p2.getpoint()[0]
  2.         self.y=p1.getpoint()[1]-p2.getpoint()[1]
复制代码

应该是这样子写。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-25 06:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表