打印输出正确,但分析表明错误

时间:2019-04-11 18:34:21

标签: python

使用预加载的课程

使用Person类,编写一个函数print_friend_info(person),该函数接受一个类型为Person的单个参数,并且:

prints out their name
prints out their age
if the person has any friends, prints 'Friends with {name}'

编写一个函数create_fry(),该函数返回代表Fry的Person实例。 Fry是25岁,他的全名是“ Philip J. Fry”。

编写一个函数make_friends(person_one,person_two),将每个参数设置为另一个参数。

我已经得到了正确的输出,其中包含需要打印的内容,但是当我尝试通过我们的代码分析器运行代码时,它会显示此错误:

“您需要在print_friend_info中打印此人的朋友的姓名”

class Person(object):
    def __init__(self, name, age, gender):
        """Construct a person object given their name, age and gender

        Parameters:
            name(str): The name of the person
            age(int): The age of the person
            gender(str): Either 'M' or 'F' for male or female

        """

        self._name = name
        self._age = age
        self._gender = gender
        self._friend = None

    def __eq__(self, person):
        return str(self) == str(person)

    def __str__(self):
        if self._gender == 'M':
            title = 'Mr'
        elif self._gender == 'F':
            title = 'Miss'
        else:
            title = 'Ms'

        return title + ' ' + self._name + ' ' + str(self._age)

    def __repr__(self):
        return 'Person: ' + str(self)

    def get_name(self):
        """
        (str) Return the name

        """
        return self._name

    def get_age(self):
        """
        (int) Return the age

        """
        return self._age

    def get_gender(self):
        """
        (str) Return the gender

        """
        return self._gender

    def set_friend(self, friend):
        self._friend = friend

    def get_friend(self):
        """
        (Person) Return the friend

        """
        return self._friend


def print_friend_info(person):
    person_name = person.get_name()
    person_age = person.get_age()
    person_gender = person.get_gender()
    person_friend = person.get_friend()

    print (person_name)
    print (person_age)

    if person_friend == None:

        return

    else:

        friendd = person_friend

        nameoffriend = friendd.get_name()

        print ('Friends with', nameoffriend)

    return


def create_fry():
    fry = Person("Philip J. Fry", 25, "M")
    return fry


def make_friends(person_one, person_two):
    made_friend1 = person_one.set_friend(person_two)
    made_friend2 = person_two.set_friend(person_one)
    return 

---------测试1 ---------

预期的输出:代码分析器

测试结果:

-----分析错误-----

您需要在print_friend_info中打印此人的朋友的名字

输入:bob = Person('Bob Smith',40,'M')


---------测试2 ---------

预期输出:print_friend_info(bob)

代码输出:Bob Smith 40

测试结果:正确!


输入:ed = Person('Ed',8,'M')

---------测试3 ---------

预期输出:bob.set_friend(ed)

代码输出:Bob Smith与Ed的40个朋友

测试结果:正确!


输入:fry = create_fry()

---------测试4 ---------

预期输出:str(fry)->'Philip J. Fry先生25'

测试结果:正确!


输入:leela = Person('T。Leela',22,'F')

---------测试5 ---------

预期输出:make_friends(fry,leela)

测试结果:正确!

0 个答案:

没有答案