Форум сайта python.su
Доброго дня!
Помогите разобраться в логике, вернее,где не так…
Задача, думаю, всем знакома: подсчет нулей в массиве.
В идеале это выполнить так:
N=int(input("Введите число элементов массива: ")) n=[] for i in range(N): n.append(int(input("Введите число массива: "))) print("Количество нулей в массиве: ",n.count(0))
N=int(input("Введите число элементов массива: ")) Q=0 for i in range(N): n=int(input("Введите число массива: ")) if n==0: Q+=1 print("Количество нулей в массиве: ",Q)
N=int(input("Введите число элементов массива: ")) n=[] q=0 for i in range(N): n.append(int(input("Введите число массива: "))) if n==0: q=q+1 print("Массив: ",n) print("Количество нулей в массиве: ",q)
Офлайн
SabachПокажите задание
но в задании стоит не использовать функции.
Офлайн
FishHookВероятно, некорректно выразился.
Офлайн
Sabach
Может быть я тупой, но
В идеале это выполнить так:
N=int(input("Введите число элементов массива: ")) n=[] for i in range(N): n.append(int(input("Введите число массива: "))) print("Количество нулей в массиве: ",n.count(0))
но в задании стоит не использовать функции.
Офлайн
FishHookСкажем так, count я еще знать не должен… Да, Бог с ним… Оба варианта задачу решают.
SabachМожет быть я тупой, но
Офлайн
Sabach
Где ощибка?
n.append(int(input("Введите число массива: "))) if n==0:
Офлайн
FishHookОтталкивался от 2-го варианта, но там, действительно идет ввод числа и потом поиск его равенства нулю.
n - это список.
Почему вы сравниваете список с нулём?
Офлайн
смотрим элемент массива который является списком. смотрим и считаем количество нулей в этом элементе списке.
у вас нет ‘массива’. у вас просто список. тупо в цикле перебираем элементы и считаем нули
Офлайн
Sabach
Подсказку не дадите для дилетанта?
Sabachinput и print - это функции.
но в задании стоит не использовать функции
>>> input <built-in function input> >>> print <built-in function print> >>>
SabachВо-первых, ты ошибочно думаешь, что их надо объединять. В программировании нужно, наоборот, всё разделять при первой же возможности. Модульная система. Если в одном модуле что-то произошло, то надо его просто изолировать, чтобы вся программа продолжила работать или разрабатываться в прежнем режиме. Это как на подводной лодке или на космической станции - при любом ЧП изолируется отсек (он же модуль).
Как объединить оба кода, чтобы и введенный массив показывал и нули подсчитывал (желательно через if)?
Отредактировано py.user.next (Июль 4, 2020 01:10:14)
Офлайн
marvellikСпасибо, что сделали акцент на СПИСОК. Почему-то был уверен по изучаемым материалам, что - это обязательно массив.
у вас просто список
py.user.nextСпасибо за дельные советы.Постараюсь их придерживаться.
py.user.next1. Вводим данные:
Тут пошёл алгоритм:
1. Ввести данные.
2. Посчитать нули.
3. Вывести результаты.
N=int(input("Ввести кол-во элементов: ")) n=[] for i in range(N): n.append(int(input("Введите число: "))) print(n)
q=0 for i in range(len(n)): if n[i]==0: q+=1 print(q)
n[i]
Отредактировано Sabach (Июль 4, 2020 19:06:23)
Офлайн