Решаю задачу:
Дано натуральное число. Напишите программу, которая определяет, состоит ли указанное число из одинаковых цифр.
Формат входных данных
На вход программе подается одно натуральное число.
Формат выходных данных
Программа должна вывести «YES» если число состоит из одинаковых цифр и «NO» в противном случае.
Почему не правильно работает данная логика внутри цикла?
if (n % 10) == ((n // 10) % 10) :
Мой код, всегда выводит True в цикле, даже при не равных числах, но при этом та же логика работает, без цикла через print:
n = int(input())
flag = True
while n != 0:
n //= 10
if (n % 10) == ((n // 10) % 10) :
flag = True
n //= 10
else:
flag = False
print(flag)
А это работает:
n = int(input())
print((n % 10) == ((n // 10) % 10))