鱼C论坛

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

大家还记得水池里有乌龟和小鱼的课程内容吗,请教我编写的代码问题出在哪里

[复制链接]
发表于 2017-8-8 10:28:55 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 124665148 于 2017-8-8 13:02 编辑

#水池里的乌龟数量定义
class Turtle:
        def turtle(self,x):
                self.num1 = x
#水池里的小鱼数量定义
class Fish:
        def fish(self,x):
                self.num2 = x
#打印水池里的乌龟和小鱼数量
class print_g:
        def print_count(self,x,y):
                self.turtle = Turtle.turtle(x)
                self.fish = Fish.fish(y)
                print('总共有%d只乌龟,%d条鱼' % (self.turtle.num1,self.turtle.num2))

g = print_g()
g.print_count(1,10)
打印后报错:
Traceback (most recent call last):
  File "<pyshell#327>", line 1, in <module>
    g.print_count(1,10)
  File "<pyshell#325>", line 3, in print_count
    self.turtle = Turtle.turtle(x)
TypeError: turtle() missing 1 required positional argument: 'x'

貌似是说Turtle.turtle(x)里面需要两个参数,但是只传了一个x参数;但是老师用__init__就是传了一个参数的,问题出在哪里呢???求各位大神解答
为什么用init就可以,我自己定义的函数就不可以???

附上老师的写法:
class Turtle:
        def __init__(self,x):
                self.num = x
class Fish:
        def __init__(self,x):
                self.num = x
class Pool:
        def pool_num(self,x,y):
                self.turtle = Turtle(x)
                self.fish = Fish(y)
        def print_count(self):
                print('水池里总共有%d只乌龟,%d条小鱼' %(self.turtle.num,self.fish.num))

p = Pool(1,10)
p.print_count()
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-13 11:39:11 | 显示全部楼层
本帖最后由 我是假的小甲鱼 于 2020-2-13 11:42 编辑

def print_count(self,x,y):
这句话中的x,y你没有给它传入实际的实参啊
你写的g.print_count(1,10)以为是传入数值,实际上是错误的,因为print_g()他只有一个参数self
应该把类定义成这样:
class print_g:
        def __init__(self,x,y):
                self.x = x
                self.y = y
        def print_count(self):
                self.turtle = Turtle.turtle(self.x)
                self.fish = Fish.fish(self.y)
                print('总共有%d只乌龟,%d条鱼' % (self.turtle.num1,self.fish.num2))

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-4 02:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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