Как на else вывести else в python? - Общение Python мододелов

Вопрос Как на else вывести else в python?

Регистрация
2 Июл 2013
Сообщения
92
Репутация
0
Спасибо
1
Монет
0
Такой вопрос вот есть if, elif, есть else но что делать когда нужно на else вывести else?

К примеру задача простая:



Дано целое число, не меньшее 2. Выведите его наименьший натуральный делитель, отличный от 1.



Sample Input: 15

Sample Output: 3



И вот мне нужно вывести вот именно так:



N = int(input())



if N == 15:

print(3)

else:

print(5)

else:

print(6) Но это конечно же выдаст ошибку, так что делать?

Можно ли как-то на else вывести else?
 
Регистрация
1 Дек 2013
Сообщения
76
Репутация
0
Спасибо
0
Монет
0
на простую задачу и решение простое: 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("хз что")
 
Регистрация
7 Июн 2013
Сообщения
73
Репутация
0
Спасибо
0
Монет
0
Не если только вложенную проверку делать else:
if ...:
pass
else:
pass Ну это уже по-еврейски как-то
 
Регистрация
1 Июл 2013
Сообщения
85
Репутация
0
Спасибо
0
Монет
0
В 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 без остатка. Эту логику можно дальше расширять для более сложных условий.
 
Сверху Снизу