python - 使用 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
我应该满足前两个错误的所有要求,我认为该错误不应该存在。最后两个错误我不知道如何纠正它。感谢您的帮助!
解决方案
推荐阅读
- python - Apscheduler get_jobs() 返回空列表
- python - 在 PySimpleGUI 中选择列表框的单行
- javascript - Node.js 关闭当前 Google Chrome 选项卡
- javascript - 在 cypress 测试运行程序中找不到文件
- java - 执行乘法运算的最高分数
- leaflet - 我可以通过单击使传单标记可拖动吗?
- python - 打印列表的时间复杂度
- bash - 如何绕过 git bash 中的权限被拒绝消息?
- azure-devops-migration-tools - 未完全迁移的积压和链接
- javascript - XMLHttpRequest() 没有给出我可以从 Inspect Element 看到的 DOM