пожалуйста, что не так с этим кодомКак преобразовать десятичное в двоичную с использованием алгоритмов в Python
def binary_converter(n):
n = int(n)
if n == 0:
return '0'
elif n not in (0,255):
return 'Invalid input'
elif n in range (0,255):
return binary_converter(n//2) + str(n%2)
else:
return 'Invalid conversion'## Heading ##
here is the test
import unittest
class BinaryConverterTestCases(unittest.TestCase):
def test_conversion_one(self):
result = binary_converter(0)
self.assertEqual(result, '0', msg='Invalid conversion')
def test_conversion_two(self):
result = binary_converter(62)
self.assertEqual(result, '111110', msg='Invalid conversion')
def test_no_negative_numbers(self):
result = binary_converter(-1)
self.assertEqual(result, 'Invalid input', msg='Input below 0 not allowed')
def test_no_numbers_above_255(self):
result = binary_converter(300)
self.assertEqual(result, 'Invalid input', msg='Input above 255 not allowed')
почему на земле 62 является частным случаем? –
@DarthKotik в тесте также должен возвращать недопустимый вход. – David
@PadraicCunningham ваш правильный, но я все равно получаю сообщение об ошибке при отправке его. P/S это назначение для изучения дома andela. Мне нужны советы, а не полный код, так как я действительно хочу это правильно изучить. спасибо всем – David