Перевести числа в двоичную запись и сравнить каждое число с последующим
т.е число 255 = 11111111 и мне нужно сравнить каждую цифру с последующей, но я не понимаю как мне его разбить.
в итоге должно получиться, что-то такое
1>=1>=1>=1>=1>=1>=1>=1
True
Ответы (2 шт):
Автор решения: splash58
→ Ссылка
Если я правильно вас понял.
Проверяем, что все предыдущие больше или равны следующему
a = 255
b = str(bin(a))[2:]
print(all(x >= y for x,y in zip(b, b[1:])))
# True
Автор решения: Алексей Р
→ Ссылка
for n in 17,32,112,177,250,255:
n, x = divmod(n, 2)
res = f'{x}'
while n > 0:
n, d = divmod(n, 2)
res = f'{d}{"<" if d < x else ">="}' + res
x = d
print(res, '<' not in res)
1>=0>=0>=0<1 False
1>=0>=0>=0>=0>=0 True
1>=1>=1>=0>=0>=0>=0 True
1>=0<1>=1>=0>=0>=0<1 False
1>=1>=1>=1>=1>=0<1>=0 False
1>=1>=1>=1>=1>=1>=1>=1 True