试图从课堂上的方法打印

时间:2015-10-28 00:21:01

标签: class

我仍然相对较新的Python和一些概念,所以你不得不忍受我。

我正在尝试创建一个动物(在这种情况下是一匹马),并自动生成一些属性。在这里,我尝试使用get_heights方法生成高度函数并将其应用于类。我没有收到任何错误,但是当我将其定义为独立函数时,它不会打印出生成的数字。 (课外)。

我在Horse_heights.get_heights调用中添加了括号,但后来我收到类型错误get_heights() takes exactly 3 arguments <1 given>。感谢所有的帮助,如果我在这里遗漏了一些基本方面,请道歉。

import random

 class Horse(object):
     def __init__(self, horse_name):
         self.horse_name = horse_name

    def get_heights(self, starting_height, max_height):
        for sh in range(15):
            sh1 = random.randint(14, 15)
            sh3 = str(sh1)
            self.sh3 = starting_height
        print starting_height

        for mh in range(3):
            mh1 = random.randint(1,2)
            mh2 = mh1 + sh1
            mh3 = str(mh2)
            self.mh3 = max_height
        print max_height


 Horse_Heights = Horse("Secretariat")
 Horse_Heights.get_heights

1 个答案:

答案 0 :(得分:0)

正如错误所说,函数get_height有3个参数:

def get_heights(self, starting_height, max_height)

所以当你调用这个函数时插入argments:

import random

class Horse(object):
    def __init__(self, horse_name):
         self.horse_name = horse_name

    def get_heights(self, starting_height, max_height):
        for sh in range(15):
            sh1 = random.randint(14, 15)
            sh3 = str(sh1)
            self.sh3 = starting_height
        print starting_height

        for mh in range(3):
            mh1 = random.randint(1,2)
            mh2 = mh1 + sh1
            mh3 = str(mh2)
            self.mh3 = max_height
        print max_height


Horse_Heights = Horse("Secretariat")
Horse_Heights.get_heights(1,15)