Почему не получается?
n = int(input())
while n != 0:
x = int(input())
if x != n:
t = 1
n = int(input())
if t == 1:
print("no")
else:
print("yes")
Ответы на вопрос
Проблема в нескольких местах.
Во-первых, переменная t создаётся только внутри условия:
Pythonif x != n: t = 1
Если условие ни разу не выполнится, переменная t вообще не появится. Тогда в строке:
Pythonif t == 1:
возникнет ошибка:
PythonNameError: name 't' is not defined
Поэтому её нужно определить заранее, например:
Pythont = 0
Во-вторых, внутри одного прохода цикла у вас два раза выполняется input():
Pythonx = int(input()) ... n = int(input())
То есть программа за одну итерацию считывает сразу два новых числа. Из-за этого числа сравниваются парами, а часть логики последовательности теряется.
Например, если ввод такой:
1 2 3 0
то сначала n = 1, затем внутри цикла x = 2, после чего n = 3. Число 2 больше нигде не сохраняется как предыдущее значение.
Если задача состоит в том, чтобы проверить, одинаковы ли все введённые числа до появления нуля, код можно написать так:
Pythonn = int(input()) t = 0while n != 0: x = int(input())if x != 0 and x != n: t = 1
n = xif t == 1: print("no") else: print("yes")
Здесь каждое новое число x сравнивается с предыдущим n, после чего становится предыдущим:
Pythonn = x
Также можно использовать логическую переменную, что обычно понятнее:
Pythonn = int(input()) same = Truewhile n != 0: x = int(input())if x != 0 and x != n: same = False
n = xif same: print("yes") else: print("no")
Главные причины, почему исходный код не работает правильно: переменная t не имеет начального значения и в каждой итерации цикла считываются два числа вместо одного.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

