首页 > 解决方案 > 使用 Class 将每个参数设置为另一个参数的朋友

问题描述

我被要求编写一个函数 make_friends(person_one, person_two) 根据给出的一些代码将每个参数设置为另一个参数。

给出的代码:

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):
    print (person._name)
    print (person._age)
    if person._friend == None:
        return None
    else: 
        print("Friends with",person.get_friend().get_name())

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

def make_friends(person_one,person_two):
    one = Person("Philip J. Fry", 25, "M")
    two = Person('T. Leela', 22, 'F')
    person_one = person._name(one)
    person_two = person._name(two)
    Person.set_friend(person_two, person_one)
    return person_one,person_two

但是当我运行它时出现4个错误:

You need to print the person's age in print_friend_info
Your If statement in print_friend_info should check if the friend is None
You need to set each person as a friend of the other
name 'person' is not defined

我应该满足前两个错误的所有要求,我认为该错误不应该存在。最后两个错误我不知道如何纠正它。感谢您的帮助!

标签: pythonfunctionclass

解决方案


推荐阅读