Информатика, вопрос задал mansurgaliullin76 , 7 лет назад

можно ли в питоне сделать так,чтобы при вводе любого числа выводилось yes,т.е:
a = int(input())
if a == (2 ** x):
print('YES')
else:
print('NO')

и вот здесь,вместо x, надо такое условие,что если a равно двум в любой степени ,выводилось да,в любой другой ситуации нет​

Ответы на вопрос

Ответил teacher1011
1

a = int(input())

s = 1

x = 0

while s <= a:

   s *= 2

   x += 1

   if s == a:

       print('YES')

       break

else:

   print('NO')

Ещё такой вариант может быть, ближе твоему:

import math

a = int(input())

b = math.log2(a)

if b%1 == 0:

   print('YES')

else:

   print('NO')


mansurgaliullin76: спасибо,если не тяжело мог бы обьяснить для чего там break? просто я недавно начал
teacher1011: break останавливает цикл while
mansurgaliullin76: спасибо
Новые вопросы