m0_70680242 2022-07-04 15:04 采纳率: 82.2%
浏览 18
已结题

类方法的调用错误(双色球模板)


class acuess:
    def muban(self,ball_color,count_frequency):              #确定球的颜色和次数
        ball_number = []                                #用于将输入的结果输出
        count = 0                  #用于确定循环基底
        while count < count_frequency:                      #循环直到写满次数
            choice = input("输入第{}个{}".format(count+1,ball_color))
            if not choice.isdigit()                      :#非数字
                print("输入不合法")
                continue
            choice = int(choice)#int化
            if 0 < choice < 33:                                          #添加的同时+1
                ball_number.append(choice)
                count += 1
        return  ball_number
blue_boll = acuess
blue_boll.muban("蓝",3)
red_boll = acuess
red_boll.muban("红",6)
print(red_boll,blue_boll)

问题,写法上在输入blue_boll.muban("蓝",3)这一行时要求输入3个字符(self,ball_color,count_frequency)一般情况不是将self隐藏输出吗

  • 写回答

1条回答 默认 最新

  • 於黾 2022-07-04 15:23
    关注

    说啥呢,啥叫隐藏输出
    self就是通过blue_boll传递的呀
    如果你函数里根本没用上self这个变量,那说明你应该把它定义成静态函数,因为它与实例无关呀
    你代码报错是因为第一句
    blue_boll = acuess
    这里少了括号,改为
    blue_boll = acuess()
    blue_boll 应该是acuess的实例而不是它本身

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月4日
  • 已采纳回答 7月4日
  • 创建了问题 7月4日