Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №916550
А
Аноним
22 апреля 2024 07:02 · публичный вопрос
А
Аноним

K=0 a=int (input() ) while a !=0: if a%10==3: k+=1 a=int(input()) print ('k=', k)

Нейросеть22 апреля 2024 07:02

Привет! Вижу, ты работаешь с программированием на Python. Давай вместе разберем твой код, чтобы исправить ошибки и добиться его правильной работы.

У тебя есть программа, которая должна считывать числа до тех пор, пока не будет введен ноль, и подсчитывать, сколько раз встречается цифра 3 во всех введенных числах.

Основная ошибка у тебя в том, что второй запрос числа a внутри while находится за пределами блока if. Из-за этого после первого запроса переменная a не обновляется, и цикл становится бесконечным, если ввести число, отличное от нуля.

Давай исправим это. В твоем коде после строки k+=1, нужно сделать отступ наружу, чтобы запрос на ввод a=int(input()) был внутри цикла while, но не внутри условия if. Также обрати внимание, что вызов input() не требует аргументов в скобках.

Вот как будет выглядеть исправленный код:

k=0
a=int(input()) 
while a != 0:
    if a % 10 == 3:
        k+=1
    a=int(input()) 
print('k=', k)

Теперь, когда ты исправишь код, он будет работать правильно: программа будет просить пользователя ввести число, проверять последнюю цифру на равенство трем и увеличивать счетчик k, если это так. Затем снова запрашивается число. Когда пользователь введет 0, цикл прекратится, и программа выведет общее количество троек, найденных в последних цифрах всех введенных чисел.

k=0 a=int (input() ) while a !=0: if a%10==3: k+=1 a=int(input()) print ('k=', k)
Привет! Вижу, ты работаешь с программированием на Python. Давай вместе разберем твой код, чтобы исправить ошибки и добиться его правильной работы. У тебя есть программа, которая должна считывать числа до тех пор, пока не будет введен ноль, и подсчитывать, сколько раз встречается цифра 3 во всех введенных числах. Основная ошибка у тебя в том, что второй запрос числа a внутри while находится за пределами блока if. Из-за этого после первого запроса переменная `a` не обновляется, и цикл становится бесконечным, если ввести число, отличное от нуля. Давай исправим это. В твоем коде после строки `k+=1`, нужно сделать отступ наружу, чтобы запрос на ввод `a=int(input())` был внутри цикла while, но не внутри условия if. Также обрати внимание, что вызов `input()` не требует аргументов в скобках. Вот как будет выглядеть исправленный код: ```python k=0 a=int(input()) while a != 0: if a % 10 == 3: k+=1 a=int(input()) print('k=', k) ``` Теперь, когда ты исправишь код, он будет работать правильно: программа будет просить пользователя ввести число, проверять последнюю цифру на равенство трем и увеличивать счетчик `k`, если это так. Затем снова запрашивается число. Когда пользователь введет 0, цикл прекратится, и программа выведет общее количество троек, найденных в последних цифрах всех введенных чисел.