-
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 #1714
base: master
Are you sure you want to change the base?
solution #1714
Conversation
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.
Thank you for your hard work on this task! 😊 While your implementation of the Distance
class is largely on point, there are a few critical issues that need to be addressed before we can approve the pull request. Specifically, the comparison methods (__lt__
, __gt__
, __eq__
, __le__
, __ge__
) should be updated to handle comparisons between Distance
objects, not just integers. Additionally, the __truediv__
method should include a check to prevent division by zero, which could lead to runtime errors. Once these issues are resolved, your code will be in great shape! Keep up the great work! 🚀
✨ Please rate this review in the Platform's notification center. I will be grateful for your feedback! ✨
🔄 Fix the issues, commit the changes, and then re-request my review using the Re-request review
button in the Reviewers tab.
app/main.py
Outdated
def __truediv__(self, value: int) -> object: | ||
return Distance(round(self.km / value, 2)) |
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.
The __truediv__
method should handle division by zero to prevent runtime errors. Consider adding a check to ensure value
is not zero before performing the division.
app/main.py
Outdated
def __lt__(self, other: int) -> bool: | ||
return self.km < other |
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.
The __lt__
method should compare Distance
objects, not just integers. Consider checking if other
is an instance of Distance
and compare self.km
with other.km
.
app/main.py
Outdated
def __gt__(self, other: int) -> bool: | ||
return self.km > other |
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.
The __gt__
method should compare Distance
objects, not just integers. Consider checking if other
is an instance of Distance
and compare self.km
with other.km
.
app/main.py
Outdated
def __eq__(self, other: int) -> bool: | ||
return self.km == other |
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.
The __eq__
method should compare Distance
objects, not just integers. Consider checking if other
is an instance of Distance
and compare self.km
with other.km
.
app/main.py
Outdated
def __le__(self, other: int) -> bool: | ||
return self.km <= other |
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.
The __le__
method should compare Distance
objects, not just integers. Consider checking if other
is an instance of Distance
and compare self.km
with other.km
.
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.
Several changes were requested
app/main.py
Outdated
@@ -1,3 +1,61 @@ | |||
class Distance: | |||
# Write your code here | |||
pass | |||
def __init__(self, km: int) -> None: |
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.
Indicate that km
can be either float
or int
here and in the other places
app/main.py
Outdated
def __repr__(self) -> str: | ||
return f"Distance(km={self.km})" | ||
|
||
def __add__(self, other: int) -> object: |
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.
Indicate that other
can be either float
, int
or Distance
class instance here and in the other places. Correct your return type annotation as well to indicate that method will return Distance
class instance in all corresponding methods
No description provided.