@Growned_Up

Почему не получается, если миновать задание переменной, и сразу подставить int(input) в print, вместо переменной a?

#Этот код рабочий
#НО почему не работает, если сразу в print подставить int(input())?

a = int(input())
print('ДА' if a // 1000 + a % 10 == a % 1000 // 100 - a % 1000 % 100 // 10 else 'НЕТ')
  • Вопрос задан
  • 67 просмотров
Пригласить эксперта
Ответы на вопрос 2
@qid00000000
Мало что знаю, но информацию найду в гугле
В чем суть то что вы хотите сделать? Чтобы было в 1 строку?

Можно так сделать:
[print('ДА' if a // 1000 + a % 10 == a % 1000 // 100 - a % 1000 % 100 // 10 else 'НЕТ') for a in [int(input())]]


input() - это ввод данных с клавиатуры, тк у вас а используется не 1 раз - то подставить в выражение input не получится.

Также, стоит ориентироваться не на то - сколько код короткий / помещается в строку, а на то, насколько код понятен другим.
Ответ написан
Комментировать
Vindicar
@Vindicar
RTFM!
Потому что input() требует ввода данных с клавиатуры. Если ты вызываешь input() несколько раз - вводить придётся несколько значений. У тебя 4 раза встречается a, так что тебе придётся 4 раза вводить одно и то же значение если ты a заменишь на вызов int(input()). ИМХО, это уже причина так не делать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы