на простую задачу и решение простое: N = int(input())
d = 2
while d < N//2+1 :
if N%d == 0 :
print(d)
break
d += 1
else :
print(f"{N} - простое число") какие там ещё два else на одно условие, ума не приложу.
может, тебе match нужен? N = int(input())
match N :
case 2 :
print("двойка")
case 3 :
print("тройка")
case _ :
print("хз что")
В Python нельзя использовать два оператора else после if/elif блока, так как это нарушит логику условия. Если вы хотите добавить дополнительное условие, то можно использовать конструкцию вложенного if-else.
В вашем случае, вы можете использовать следующий код:
N = int(input())
if N % 2 == 0: print(2) elif N % 3 == 0: print(3) else: print(N)
Здесь мы сначала проверяем, делится ли число на 2 без остатка (в этом случае наименьший делитель будет 2), затем проверяем, делится ли на 3 без остатка (в этом случае наименьший делитель будет 3), иначе просто выводим само число, так как оно не делится ни на 2, ни на 3 без остатка. Эту логику можно дальше расширять для более сложных условий.