-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Solution #1663
base: master
Are you sure you want to change the base?
Solution #1663
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,29 @@ | ||
class Person: | ||
# write your code here | ||
pass | ||
people = {} | ||
|
||
def __init__(self, name, age): | ||
|
||
def create_person_list(people: list) -> list: | ||
# write your code here | ||
pass | ||
self.name = name | ||
self.age = age | ||
self.spouse = None | ||
Person.people[name] = self | ||
|
||
def __repr__(self): | ||
|
||
spouse_info = f", Spouse: {self.spouse.name}" if self.spouse else "" | ||
return f"Person(Name: {self.name}, Age: {self.age}{spouse_info})" | ||
|
||
|
||
def create_person_list(people_data): | ||
for person in people_data: | ||
name = person["name"] | ||
age = person["age"] | ||
Person(name, age) | ||
|
||
for person in people_data: | ||
name = person["name"] | ||
spouse_name = person.get("wife") or person.get("husband") | ||
if spouse_name: | ||
Person.people[name].spouse = Person.people.get(spouse_name) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The code assumes that the spouse's name is unique and present in the |
||
|
||
return list(Person.people.values()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using a class-level dictionary
people
to store instances ofPerson
can lead to issues if multiple instances ofPerson
are created in different contexts or threads. Consider using an instance-level attribute or a different design pattern to managePerson
instances.