Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Ошибка в коде. Почему?

a,b,c,d,e,f = str(input())
if a + b + c == d + e + f:
tab print('счастливый')
else:
tab print('несчастливый')
-------------------------------
Ввод 090234. Получаю вывод 'несчастливый', а должен выводить 'счастливый'.
Почему условия if при этом вводе не читается?
Python
PS
Под TAB имел ввиду кнопку на клавиатуре. В кью почему-то таб не работает
PythonОшибки в коде
Альберт Таргимхо
  ·   · 265
Программирование, Python, математика. Выпускник Ян...  · 1 янв 2022  · cdarr.ru
Потому что вы складываете строки, а не числа.
Функция input возвращает строку. Вы записываете её части в разные переменные — они тоже оказываются строками. При сложении строк (она же конкатенация) они просто приписываются друг за другом:
>>> print('0' + '9' + '0')
090
Поэтому ваше условие для интерпретатора выглядит как
if "090" == "234":
(что является ложью).
Чтобы из строки "090234" получить отдельные числа, можно:
— получить каждую цифру отдельно и привести к числу:
s = input()

a = int(s[0])
b = int(s[1])
...
f = int(s[5])

if a + b + c == d + e + f:
    ...
— воспользоваться встроенной функцией map, которая принимает коллекцию (в данном случае строку) и ещё одну функцию (int) и применяет функцию к каждому элементу коллекции:
a, b, c, d, e, f = map(int, input())

if a + b + c == d + e + f:
    ...
5 экспертов согласны
Alexey Mirskoy
подтверждает
2 янв 2022
+