Skip to content
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 #1594

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 22 additions & 4 deletions app/main.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,26 @@
class Person:
# write your code here
pass
people = {}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using a class variable people to store instances by name can lead to issues if names are not unique. Consider using a unique identifier or handling potential name collisions.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Issue: Using names as keys in the people dictionary can cause issues if names are not unique.

Suggestion: Consider using a unique identifier for each person or implement a strategy to handle potential name collisions.


def __init__(self, name: str, age: int) -> None:
self.name = name
self.age = age

Person.people[name] = self


def create_person_list(people: list) -> list:
# write your code here
pass
person_objects = [
Person(person["name"], person["age"])
for person in people
]
for person in people:
person_object = Person.people[person["name"]]
if "wife" in person:
if person["wife"]:
wife = Person.people[person["wife"]]

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Issue: The code assumes that the 'wife' exists in the Person.people dictionary. This can lead to a KeyError if the specified wife does not exist.

Suggestion: Add a check to ensure that the wife exists in the Person.people dictionary before assigning them.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please simplify this condition by using only method .get(). This level of nesting is not good solution.

person_object.wife = wife
elif "husband" in person:
if person["husband"]:
husband = Person.people[person["husband"]]

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Issue: The code assumes that the 'husband' exists in the Person.people dictionary. This can lead to a KeyError if the specified husband does not exist.

Suggestion: Add a check to ensure that the husband exists in the Person.people dictionary before assigning them.

person_object.husband = husband
return person_objects
Loading