Возникает проблема с выводом сообщения при отсутствии результата после выполнения цикла

yamb_horei

Новичок
Пользователь
Сен 15, 2020
2
0
1
Программа ищет числа Армстронга на заданном промежутке. При отсутствии таковых необходимо вывести "-1". Куда вставить кусок кода с условным оператором else?


def armstrong (a):
a_first = a
L = len (str (a))
S = 0
for i in range (L):
S += (a%10) ** L
a //= 10
if S == a_first:
return True
return False


a, b = map (int, input (). split ())
for i in range (a, b+1):
if armstrong (i):
print (i, end = ' ')
 

Abudallil

Новичок
Пользователь
Сен 11, 2020
11
0
1
Из вопроса понял, что проблема с выбором возврата:
Python:
def armstrong (a):
    a_first = a
    L = len (str (a))
    S = 0
    
    for i in range (L):
        S += (a%10) ** L
        a //= 10
    if S == a_first:
        return True
    else:
       return False
 

yamb_horei

Новичок
Пользователь
Сен 15, 2020
2
0
1
Из вопроса понял, что проблема с выбором возврата:
Python:
def armstrong (a):
    a_first = a
    L = len (str (a))
    S = 0
   
    for i in range (L):
        S += (a%10) ** L
        a //= 10
    if S == a_first:
        return True
    else:
       return False
Спасибо, уже решил эту проблему. Проблема была именно с выводом сообщения при отсутствии результата в цикле, первая часть кода работала прекрасно.
 

Форум IT Специалистов