Вопрос задан 14.11.2023 в 15:39. Предмет Информатика. Спрашивает Соколова Ксения.

Всем привет, подскажите пожалуйста, в чем ошибка моей программы на python. Вот условие: Робот

Костя и механический попугай Лёшенька играли в шпионов. Костя передавал Лёшеньке секретный код — число из трёх цифр. Передатчик подпортили неведомые враги, и Лёшенька услышал только первую и третью цифру числа. К счастью, он знает, что сумма этих цифр должна делиться на три и что Костя подобрал самое маленькое число из возможных. Даны первая и третья цифры. Выведи вторую. А вот мое решение: a=int(input()) c=int(input()) b=0 d=a+c+b while d%3!=0: b=b+1 print(b)
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Алещенков Иван.

a = int(input())

c = int(input())

b = 0

while (a + b + c) % 3 != 0:

   b = b + 1

print(b)

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Привет! Давайте вместе разберем твой код. Видимо, ты пытаешься найти вторую цифру такого трехзначного числа, где сумма всех трех цифр делится на 3. Давайте рассмотрим твой код по шагам:

```python a = int(input()) c = int(input()) b = 0 d = a + c + b

while d % 3 != 0: b = b + 1

print(b) ```

Теперь давайте пошагово разберем, что происходит:

1. `a` и `c` - это первая и третья цифры числа соответственно, введенные пользователем.

2. `b` инициализируется как 0.

3. `d` - это сумма `a`, `c` и `b`.

4. Затем у тебя есть цикл `while`, который продолжает выполняться, пока `d % 3` не станет равным 0.

5. В цикле ты увеличиваешь значение `b` на 1.

6. Наконец, после выхода из цикла, ты выводишь значение `b`.

Однако есть проблема в том, как ты увеличиваешь `b` внутри цикла. В твоем коде `b` увеличивается на 1 вне зависимости от значения `d`, что может привести к бесконечному циклу, если условие `d % 3 != 0` никогда не станет ложным.

Чтобы исправить это, нужно увеличивать `b` только в том случае, если условие `d % 3 != 0` выполняется. Вот исправленный код:

```python a = int(input()) c = int(input()) b = 0 d = a + c + b

while d % 3 != 0: b = b + 1 d = a + c + b # Обновляем значение d

print(b) ```

Таким образом, при каждой итерации цикла мы обновляем значение `d`, чтобы учесть изменения в `b`.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос