File tree Expand file tree Collapse file tree 1 file changed +8
-6
lines changed
Expand file tree Collapse file tree 1 file changed +8
-6
lines changed Original file line number Diff line number Diff line change @@ -15,17 +15,20 @@ def binary_parity_pattern(number: int) -> str:
1515 Return a binary parity pattern string for a given integer.
1616
1717 >>> binary_parity_pattern(13)
18- '0b1010 '
18+ '0b1001 '
1919 >>> binary_parity_pattern(7)
20- '0b111 '
20+ '0b101 '
2121 >>> binary_parity_pattern(4)
22- '0b10 '
22+ '0b111 '
2323 >>> binary_parity_pattern(0)
2424 '0b0'
2525 """
2626 if number < 0 :
2727 raise ValueError ("Number must be non-negative" )
2828
29+ if number == 0 :
30+ return "0b0"
31+
2932 binary_str = bin (number )[2 :]
3033 cum_sum = 0
3134 pattern = []
@@ -34,11 +37,10 @@ def binary_parity_pattern(number: int) -> str:
3437 cum_sum += int (bit )
3538 pattern .append (str (cum_sum % 2 ))
3639
37- result = "0b" + "" .join (pattern )
38- return result if result != "0b" else "0b0"
40+ result = '' .join (pattern ). lstrip ( '0' )
41+ return '0b' + ( result if result else '0' )
3942
4043
4144if __name__ == "__main__" :
4245 import doctest
43-
4446 doctest .testmod ()
You can’t perform that action at this time.
0 commit comments