Задать вопрос
@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
  • Вопрос задан
  • 1050 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 2
@igor6130
А причем здесь двоичный код?

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


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

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

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

Похожие вопросы
SpectrumData Екатеринбург
от 200 000 до 300 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
AST Москва
До 350 000 ₽