鱼C论坛

 找回密码
 立即注册
查看: 2206|回复: 7

第38讲课后练习第一题

[复制链接]
发表于 2017-7-6 20:39:59 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 yufuyoung 于 2017-7-6 22:20 编辑

根据参考答案,如果像如下这么写代码的时候会报错,请问为什么呢?
import math

class Point():
        def __init__(self,x=0,y=0):
                self.x = x
                self.y = y

                

class Line():
        def __init__(self,p1,p2):
                self.x = p1.x - p2.x
                self.y = p2.y - p2.y
                self.len = math.sqrt(p1.x*p1.x + p2.y*p2.y)
        def getlen(self):
                return self.len
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-7-6 20:48:50 | 显示全部楼层
请问你Python用的什么版本? 我这3.6.1没报错。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-6 21:04:54 | 显示全部楼层
3.5版本,这个程序没错,当你给类实例化的,并调用getlen()方法就会报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-6 22:03:53 | 显示全部楼层
self.len = math.sqrt(p1.x*p1.x - p2.y*p2.y)里面的减号改成加号,老哥数学公式的问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-6 22:21:01 | 显示全部楼层
什么鬼… 发表于 2017-7-6 22:03
self.len = math.sqrt(p1.x*p1.x - p2.y*p2.y)里面的减号改成加号,老哥数学公式的问题

你看的很仔细哦,可是即使是加号还是会在类实例化后调用len()函数报错的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-6 22:26:43 | 显示全部楼层
表示我的没有问题啊.....
1.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-6 22:31:17 | 显示全部楼层
本帖最后由 什么鬼… 于 2017-7-6 22:35 编辑

等会....你的算式还是有问题.....刚刚的结果是错的。。。。。
import math

class Point():
        def __init__(self,x=0,y=0):
                self.x = x
                self.y = y

                

class Line():
        def __init__(self,p1,p2):
                self.x = p1.x - p2.x
                self.y = p1.y - p2.y
                self.len = math.sqrt(self.x*self.x + self.y*self.y)
        def getlen(self):
                return self.len
这里如果要调用Line这个类的话必须先实例化两个Point,如果不想这样的话,就先在Line()的构造函数里面给p1,p2一个默认值
2.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-6 23:32:51 | 显示全部楼层
什么鬼… 发表于 2017-7-6 22:31
等会....你的算式还是有问题.....刚刚的结果是错的。。。。。

这里如果要调用Line这个类的话必须先实例 ...

嗯嗯,多谢~!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-22 17:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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