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

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


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

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

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

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 11:14
65000 руб./за проект
19 апр. 2024, в 11:08
5000 руб./за проект
19 апр. 2024, в 10:59
150000 руб./за проект