Задать вопрос
@vasiliy763
IT engineer

Проверка четного числа (четное/нечетное)?

for n in range(1, 100):
    s = bin(n)[2:]  
    s = str(s) 
    if s[-1] == '0': # как с помощью данной строчка выполняется проверка числа (четное или нечетное)?
        s = '1' + s + '0'
    else:
        s = '11' + s + '11'
    r = int(s, 2)  
    if r > 52:
        print(n)
        break
  • Вопрос задан
  • 935 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 2
@igor6130
А причем здесь двоичный код?

Числа на четность проверяются по-другому:
if num % 2 == 0:
    ...


Плюс, если вы идете по рэнжу, то это просто все числа с двойки с шагом 2.
Ответ написан
Комментировать
Vindicar
@Vindicar
RTFM!
Если вопрос именно "как работает данная строка", то ответ простой.
В десятичной системе круглые числа (т.е. кончающиеся нулём) - те, которые делятся на 10.
В двоичной системе круглые числа - те, которые делятся на 2.
Значит, если запись числа в двоичной системе заканчивается нулём, оно делится на 2, т.е. оно чётное.

А если вопрос "стоит ли так делать", то ответ тоже простой.
Однозначно нет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы