Форум сайта python.su
q = ['0', '1', '0'] print(len([i for i in q if i == '0']))
Офлайн
AD0DE412Спасибо за ещё один вариант решения задачи. Положил в копилку.
Офлайн
SabachТы обратил внимание, что третий пункт называется “Вывести результаты”, но в нём нет ни строчки кода и при этом какие-то данные выводятся на экран? Вот эта пустота на месте, где должен быть код, - признак того, что произошла ошибка при реализации какого-то из предыдущих пунктов (шагов алгоритма).
1. Вводим данные:2. Считаем нули:N=int(input("Ввести кол-во элементов: ")) n=[] for i in range(N): n.append(int(input("Введите число: "))) print(n)3. В результатах выходит и сам и список и количество нулейq=0 for i in range(len(n)): if n[i]==0: q+=1 print(q)
Отредактировано py.user.next (Июль 4, 2020 22:53:30)
Офлайн
py.user.nextЗавтра выложу… Мне же надо было убедиться, что обе части работают…
Отредактировано Sabach (Июль 4, 2020 23:19:48)
Офлайн
py.user.next1. Вводим данные:
выкладывай результаты
N=int(input("Ввести кол-во элементов: ")) n=[] for i in range(N): n.append(int(input("Введите число: ")))
q=0 for i in range(len(n)): if n[i]==0: q+=1
print("Создан список: ",n) print("Количество нулей в списке: ",q)
Офлайн
Sabach
за один цикл.
N = int(input("Ввести кол-во элементов: ")) n = [] result = 0 for i in range(N): number = int(input("Введите число: ")) if number == 0: result += 1 n.append(number) print("Создан список: ",n) print("Количество нулей в списке: ",result)
Офлайн
marvellikДо этого я додуматься не смог.
Sabachза один цикл.
Офлайн
SabachВот теперь всё правильно. Правилен каждый пункт. Поэтому можно сказать, что весь алгоритм, состоящий из этих пунктов, правилен. Так как весь этот алгоритм правилен, его можно весь как одну единицу использовать в качестве пункта в другом алгоритме, в более обширном.
1. Вводим данные:2. Считаем нули:N=int(input("Ввести кол-во элементов: ")) n=[] for i in range(N): n.append(int(input("Введите число: ")))q=0 for i in range(len(n)): if n[i]==0: q+=1
3. Выводим результаты:print("Создан список: ",n) print("Количество нулей в списке: ",q)
SabachПравильно, что не смог. В программировании нужно всё разделять, а не сливать воедино. Я приводил пример подводной лодки, где всё разделено на отсеки. marvellik тебе предложил убрать все перегородки отсеков из подводной лодки, потому что через них неудобно перешагивать. Как думаешь, что будет, если один отсек загорится? В нормальной лодке команда его изолирует, закрыв люки с двух сторон, и огонь погаснет, когда закончится кислород в отсеке. В лодке от marvellik вся команда сначала задохнётся в лодке от продуктов горения, а потом вся лодка выгорит изнутри ещё. Потому что ему было так удобнее, ему там что-то казалось, когда он её проектировал.marvellikДо этого я додуматься не смог.
Sabach
за один цикл.
Отредактировано py.user.next (Июль 6, 2020 02:00:05)
Офлайн
py.user.next ну вы и ужасов расписали а как время выполнения программы? а как по памяти? иногда в угоду весу лодки и увеличению боевой загрузки можно убрать пару не сильно важных перегородок уменьшив тем самым вес. но при этом прежде чем убрать нужно просчитать все до мелочей. то есть как у вас в примере разделить по блокам и после испытаний получить что то более легкое.
Офлайн
marvellikЯ написал понятный любому пример. Я не стал писать всё то, что будет в программе происходить на протяжении всей её жизни и как она в итоге из-за этого всего подохнет, потому что кто-то там что-то там решил сократить, руководствуясь своим личным удобством при её разработке. Мы сейчас наблюдаем Windows, которую усиленно пытаются спасти. Почему она не живёт сама? Потому что прямо на уровне ядра системы там ляп на ляпе. Её пытались облагородить, ничего не вышло. А другие системы качественные, растут и набирают обороты за счёт её топтания на месте и в итоге выталкивают её с рынка.
ну вы и ужасов расписали
Отредактировано py.user.next (Июль 6, 2020 17:09:06)
Офлайн