鱼C论坛

 找回密码
 立即注册
查看: 2451|回复: 4

[已解决]小甲鱼视频中类的问题

[复制链接]
发表于 2020-12-10 15:29:23 | 显示全部楼层 |阅读模式

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

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

x
大佬们求助 不知道那里错误了 看那个小甲鱼的那个类的视频看得也挺懵逼的
  1. class Tick:
  2.     normal_price = 100
  3.     def adult(self,what,num):#what是周几的意思 num是人数
  4.         self.what = what
  5.         self.num = num
  6.         if int(self.what) > 5:
  7.             normal_price = 120
  8.         return normal_price * int(self.num)

  9. a = Tick()
  10. a.adult(3,2)
复制代码
最佳答案
2020-12-10 15:41:17
  1. class Tick:
  2.     normal_price = 100
  3.     def adult(self,what,num):#what是周几的意思 num是人数
  4.         self.what = what
  5.         self.num = num
  6.         if int(self.what) > 5:
  7.             self.normal_price = 120
  8.         
  9.             return self.normal_price * int(self.num)
  10.         else:
  11.             return self.normal_price * int(self.num)


  12. a = Tick()
  13. print(a.adult(3,2))
复制代码

不知道是不是这个意思
7307227E-3536-4A06-AB95-4E7B9FF09376.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-12-10 15:41:17 | 显示全部楼层    本楼为最佳答案   
  1. class Tick:
  2.     normal_price = 100
  3.     def adult(self,what,num):#what是周几的意思 num是人数
  4.         self.what = what
  5.         self.num = num
  6.         if int(self.what) > 5:
  7.             self.normal_price = 120
  8.         
  9.             return self.normal_price * int(self.num)
  10.         else:
  11.             return self.normal_price * int(self.num)


  12. a = Tick()
  13. print(a.adult(3,2))
复制代码

不知道是不是这个意思
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-10 15:52:35 | 显示全部楼层
小伤口 发表于 2020-12-10 15:41
不知道是不是这个意思

谢谢大哥 明白了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-10 15:55:55 | 显示全部楼层
问题出在normal_price 这个变量的位置上,它虽然在Tick这个类当中,但在函数adult中要重新定义,即便是定义了,他们也是不相干的,除非用global声明为全局变量。
改也很简单,把normal_price = 100剪切到adult函数内部就可以了;
还有现在这个程序运行,改了也是什么反馈也没有,测试的时候,加个打印语句,给自己反馈看看,更好些。
class Tick:

   def adult(self,what,num):#what是周几的意思 num是人数
        normal_price=100
        self.what = what
        self.num = num
        if int(self.what) > 5:
            normal_price = 120
        s=normal_price * int(self.num)
        return s

a = Tick()
print(a.adult(3,2))
print(a.adult(6,2))
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-10 16:02:28 | 显示全部楼层

共同学习,其实我也有点晕对这些
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-30 14:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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