Задачи на Python
"Существует список цифр оканчивающийся нулём, вывести количество двоек в нем"
Я пытался написать через цикл 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)
Помогите разобраться
Ответы (2 шт):
Обычно, для работы со списками используют цикл 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} двоек.')
Цикл "While True" - плохая практика. Типовое решение типичных задач:
counter = 0
while (val := input()) != '0':
if (val == '2'): counter += 1
print(counter)
В данном выражении используется слоновый моржовый оператор :=, при помощи которого запоминаем переменную на этапе ввода. Остальное, думаю понятно.