Мой личный опыт с проверкой числа на степень тройки в Python
Я регулярно сталкиваюсь с задачами по проверке целых чисел на степень определенного числа. Одним из примеров является проверка, является ли данное число степенью тройки. В данной статье я расскажу о своем опыте работы с такой задачей на языке программирования Python.
Для начала, мне потребуется определить функцию, которая будет принимать число N и возвращать True, если оно является степенью тройки, и False в противном случае. Я назову эту функцию ″is_power_of_three″. Внутри функции я буду использовать цикл while, чтобы многократно делить число на 3٫ пока результат деления будет являться целым числом больше 1. Если в итоге получится число равное 1٫ то это будет означать٫ что исходное число является степенью тройки.
Предлагаю ознакомиться с кодом этой функции⁚
python
def is_power_of_three(N)⁚
while N > 1⁚
if N % 3 ! 0⁚
return False
N //= 3
return True
Для проверки работы этой функции я протестирую ее с несколькими значениями. Например, для числа 9, которое является степенью тройки, функция должна вернуть True. Используя встроенную функцию assert, я проверю этот результат⁚
python
assert is_power_of_three(9) True
Также, я проверю функцию для числа 6, которое не является степенью тройки, и ожидаю получить результат False⁚
python
assert is_power_of_three(6) False
В обоих случаях функция должна вернуть ожидаемые результаты. Однако, чтобы быть уверенным в правильности работы функции, я поступлю настороженно и опробую ее с большими значениями. Например, если я проверю число 243, которое является 5-й степенью тройки, функция должна вернуть True⁚
python
assert is_power_of_three(243) True
Я убеждаюсь, что и в этом случае функция работает корректно.
Важное! Все условия для функции приведены в задаче. Числа ″N″ могут быть любыми. Функция должна возвращать True при наличии степени тройки и False в противном случае. Функция успешно прошла все предложенные проверки.