找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 3938|回复: 8

[求助] 10岁小学生又有问题了!

15

主题

31

帖子

31

积分

贫民

积分
31
benson 发表于 2019-5-14 22:25:28 | 显示全部楼层 |阅读模式
class Count():
    sum=0
    def get(self):
        print self.sum
        return
    def sub(self,money):
        self.sum=self.sum-mone
        return
    def add(self,money):
        self.sum=self.sum+money
        return
    y6001=Count()
    y6002=Count()
    y6001.sum=4000
    y6002.sum=2000
    def transfer(a,b,x):
        a.sub(x)
        b.add(x)
        return
按照教材写,然后运行:
Traceback (most recent call last):
  File "C:/Users/Administrator/Desktop/李昊恩Python/test7.12", line 1, in <module>
    class Count():
  File "C:/Users/Administrator/Desktop/李昊恩Python/test7.12", line 12, in Count
    y6001=Count()
NameError: name 'Count' is not defined

求指教!!!

回复

使用道具 举报

0

主题

956

帖子

956

积分

圣骑士

积分
956
sheeboard 发表于 2019-5-15 10:09:15 | 显示全部楼层
class定义完要空行,后面实例要顶格写。
回复 支持 反对

使用道具 举报

0

主题

1

帖子

1

积分

贫民

积分
1
小白ing 发表于 2019-5-15 16:28:10 | 显示全部楼层
创建类和调用方法写再Count外面
回复 支持 反对

使用道具 举报

1

主题

2

帖子

2

积分

贫民

积分
2
Fope 发表于 2019-5-17 00:14:55 | 显示全部楼层
python的缩进没有理解吧,注意缩进的位置。
回复 支持 反对

使用道具 举报

0

主题

4

帖子

4

积分

贫民

积分
4
HYE 发表于 2019-5-17 23:47:38 | 显示全部楼层
建议先看下Python里的类,实例化变量,创建类对象,和调用类方法,这些格式和要求,https://www.runoob.com/python/python-object.html
回复 支持 反对

使用道具 举报

15

主题

31

帖子

31

积分

贫民

积分
31
benson  楼主| 发表于 2019-5-18 10:19:42 | 显示全部楼层
sheeboard 发表于 2019-5-15 10:09
class定义完要空行,后面实例要顶格写。

不明白,你可以针对这个案例修改正确的吗?谢谢!
回复 支持 反对

使用道具 举报

15

主题

31

帖子

31

积分

贫民

积分
31
benson  楼主| 发表于 2019-5-18 11:25:28 | 显示全部楼层
小白ing 发表于 2019-5-15 16:28
创建类和调用方法写再Count外面

不明白,你可以针对这个案例修改正确的吗?谢谢!
回复 支持 反对

使用道具 举报

0

主题

4

帖子

4

积分

贫民

积分
4
HYE 发表于 2019-5-18 14:20:43 | 显示全部楼层
本帖最后由 HYE 于 2019-5-18 14:27 编辑

class Count():
    sum = 0

    def get(self):
        print(self.sum)
        return

    def sub(self, money):
        self.sum = self.sum - money
        return

    def add(self, money):
        self.sum = self.sum + money
        return

y6001 = Count()
y6002 = Count()
y6001.sum = 4000
y6002.sum = 2000


def transfer(a, b, x):
    a.sub(x)
    b.add(x)
    return

transfer(y6001,y6002,100)
print(y6001.sum)    # 3900   取
print(y6002.sum)    # 2100   存
print("基于Python3.6")

提示:print()函数,看版本,2.x版本和3.x版本不一样,money单词有少写y, 创建类对象,需要在类外面,注意缩进,最后一个函数也是在类外面,也没看你写有实例化对像self在, 我猜 你是想写一个存取钱的model.
回复 支持 反对

使用道具 举报

15

主题

31

帖子

31

积分

贫民

积分
31
benson  楼主| 发表于 2019-5-19 13:45:42 | 显示全部楼层
HYE 发表于 2019-5-18 14:20
class Count():
    sum = 0

问题已经解决,感谢大神!
回复 支持 反对

使用道具 举报

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

本版积分规则

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