ДАЮ 50 БАЛЛОВ!!!
Вводится шестизначное натуральное число. Проверить, является ли оно счастливым (сумма первых трёх цифр равна сумме последних трёх цифр) и, если не является, вывести ближайшее счастливое число.

Ответы

Ответ дал: korsa351
1

number = [int(i) for i in input().strip()]

if sum(number[:3]) == sum(number[3:]):

   print('Число является счастливым')

else:

   print('Число несчастливое')

   str_numb = ''

   for i in number:

       str_numb += str(i)

   for numb in range(int(str_numb), 1000000):

       if sum(int(j) for j in str(numb)[:3].strip()) == sum(int(k) for k in str(numb)[3:].strip()):

           print(f'Ближайшее счастливое число - {numb}')

           break


valeron9814: У меня от этой строки щас мозг взорвертся)) for numb in range(int(str_numb), 1000000):

if sum(int(j) for j in str(numb)[:3].strip()) == sum(int(k) for k in str(numb)
valeron9814: Можно пару слов как оно работает? Типо оно в диапазоне от данного числа до 100000 ищет ближайшее?..
robot228mir: спасибо но можете написать на паскале
Ответ дал: valeron9814
0

Ответ:

Самый простой вариант просто найти счастливое число или нет вот (без вывода ближайшего числа):

a = input('Введите 6-ти значное число:')

b = list(map(int, str(a))) #разбиваем на символы строку с числами на список

if len(b)==6:

 if b[0] + b[1] + b[2] == b[3] + b[4] + b[5]:

   print("Счастливое")

 elif b[0] + b[1] + b[2] > b[3] + b[4] + b[5] or b[0] + b[1] + b[2] < b[3] + b[4] + b[5]:

   print("Не счастливое")

   c = b[0] + b[1] + b[2] - b[3] + b[4] + b[5]

Объяснение:

С выводом ближайшего пока не пойму...

Вас заинтересует