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

use format to remove '0b' #11307

Merged
merged 4 commits into from
Jun 2, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
6 changes: 3 additions & 3 deletions bit_manipulation/binary_and_operator.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ def binary_and(a: int, b: int) -> str:
>>> binary_and(0, 1.1)
Traceback (most recent call last):
...
TypeError: 'float' object cannot be interpreted as an integer
ValueError: Unknown format code 'b' for object of type 'float'
>>> binary_and("0", "1")
Traceback (most recent call last):
...
Expand All @@ -35,8 +35,8 @@ def binary_and(a: int, b: int) -> str:
if a < 0 or b < 0:
raise ValueError("the value of both inputs must be positive")

a_binary = str(bin(a))[2:] # remove the leading "0b"
Copy link
Contributor

Choose a reason for hiding this comment

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

Why we need to more the comments??
In the given line of code, the comment is explaining what the line does, which is to remove the leading "0b" from the binary representation of the integer a. Comments are useful for making the code more understandable to other developers (or to your future self) who might read the code later.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

When using the format, "0b" is not included in the output, as it generates a string of 0s and 1s directly. As for the comment, would "converting to binary string" accurately reflect the operation? If so, I would be happy to implement these changes. Your feedback is valuable.

Copy link
Contributor

Choose a reason for hiding this comment

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

I think it's fine to remove the comments here. format(_, "b") is much more transparent about its purpose of converting an int to binary, at least compared to str(bin(_))[2:], so if the reader knows what the format function does, then they know what this line of code does. Plus, the variable name a_binary already makes it clear that this line converts a to binary.

b_binary = str(bin(b))[2:] # remove the leading "0b"
a_binary = format(a, "b")
b_binary = format(b, "b")

max_len = max(len(a_binary), len(b_binary))

Expand Down