Задачи на Python

Рейтинг: -4Ответов: 2Опубликовано: 07.02.2023

"Существует список цифр оканчивающийся нулём, вывести количество двоек в нем"

Я пытался написать через цикл while и условия if, elif, else

s=0
while True:
    a=int(input())
    if a !=0:
        s+=0
        break
    elif a==2:
        g=s+1
        print(g) 
    else:
        print(s) 

Помогите разобраться

Ответы

▲ 3

Цикл "While True" - плохая практика. Типовое решение типичных задач:

counter = 0
while (val := input()) != '0':
    if (val == '2'):  counter += 1
print(counter)

В данном выражении используется слоновый моржовый оператор :=, при помощи которого запоминаем переменную на этапе ввода. Остальное, думаю понятно.

▲ -1

Обычно, для работы со списками используют цикл for. С его помощью можно пройтись по элементам списка. В моём примере переменная digit проходится по списку (т.е. сначала переменная digit == 0, потом digit == 2, digit == 4 и т.д.). После чего, происходит сравнение с помощью if, равна ли переменная digit двум. Если равна, то прибавляет однёрку в переменную counter.

Вот код, для решения вашей очень лёгкой задачи:

example_list = [0, 2, 4, 5, 2, 3, 2, 0, 2, 2, 0]

counter = 0

for digit in example_list:

    if digit == 2:
        counter = counter + 1

print(f'В вашем коде {counter} двоек.')