wxy05240 发表于 2020-12-10 15:29:23

小甲鱼视频中类的问题

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

a = Tick()
a.adult(3,2)

小伤口 发表于 2020-12-10 15:41:17

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


a = Tick()
print(a.adult(3,2))

不知道是不是这个意思

wxy05240 发表于 2020-12-10 15:52:35

小伤口 发表于 2020-12-10 15:41
不知道是不是这个意思

谢谢大哥 明白了

yangminer 发表于 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))

小伤口 发表于 2020-12-10 16:02:28

wxy05240 发表于 2020-12-10 15:52
谢谢大哥 明白了

共同学习,其实我也有点晕对这些{:10_250:}
页: [1]
查看完整版本: 小甲鱼视频中类的问题