Def bhl (x): if x == 1: вернуть False elif x == 2: вернуть True elif x% 2 == 0: вернуть False для b в диапазоне (3, int (x ** 0,5 +1)): если x% b == 0: вернуть False else: вернуть True
Не знаю, слишком ли я устал, но я действительно не могу понять, что делает эта часть кода. Может кто-нибудь объяснить мне это:
elif x % 2 == 0:
return False
for b in range(3,int(x**0.5 +1)):
if x % b == 0:
return False
else:
return True
1 ответ
Он проверяет, является ли x простым
x % 2 == 0
проверяет, является ли x четным или, другими словами, у него нет остатка, когда вы делите его на 2
for b in range(3,int(x**0.5 +1)): if x % b == 0: return False
Это проверяет от 3 до x / 2 + 1, есть ли число, которое делит x без остатка. Предыдущие случаи проверяли 1 и 2, и нет смысла проверять, делит ли число больше x / 2 x без остатка, потому что его нет.
Похожие вопросы
Новые вопросы
if-statement
Оператор «if» - это структура управления потоком в большинстве языков программирования, которая ветвит поток выполнения в зависимости от двоичного условия, обычно оцениваемого во время выполнения. Если операторы также обычно называют условными. При использовании этого тега, пожалуйста, также включите соответствующий языковой тег, например, например. «Java», если ваш вопрос зависит от языка.