使用预加载的课程人
使用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)
测试结果:正确!