import array
spisok = array.array('I') # Массив положительных чисел.
for i in range(int(input())):
if not len([0 for z in range(1, i + 1) if not i % z]) % 2: spisok.append(i)
# not len(...) % 2 тоже что и len(...) % 2 == 0, но быстрее в 2 раза.
# [0 for z in ...] поскольку z нам не нужен, нам нужна лишь длина, я заменил его 0-ом.
print(len(spisok))
Или
Есть , ускорить код в 20 раз, cython.
from cpython.array cimport array
n = int(input()) + 1
spisok = array('I')
cdef unsigned int i, z
for i in range(n):
Сохранишь этот код в файл с расширением pyx (например my_file.pyx)
В консоли введёшь команду:
pip install cython # библиотека
cythonize -i my_file.pyx || py -m cythonize -i main.pyx
И создай любой .py файл, добавь туда import того файла:
import my_file
A = [39, 97, 18, 83, 3, 87, 73, 27, 10, 93, 80, 28, 2, 53, 67] # любой список
# Сумма:
S = 0
for i in A: S += i # Сложить все элементы A, результатом будет переменная S
print(S)
# Произведение:
M = 1 # Если будет 0, то всё выражение тоже будет 0
for i in A: M *= i
# Или
if 0 in A: M = 0
else:
print(M)
# Готовые решения для этих задач (Встроены в Python, использовать их будет разумно.):
print(sum(A))
# Произведение
import functools
import operator # содержит все возможные операции
print(functools.reduce( # reduce - применить операцию ко всем элементам списка поочерёдно
operator.mul, # операция умножения
A)) # Использовать вариант выше (с проверкой на наличие 0-я, будет предпочтительнее).
import array
spisok = array.array('I') # Массив положительных чисел.
for i in range(int(input())):
if not len([0 for z in range(1, i + 1) if not i % z]) % 2: spisok.append(i)
# not len(...) % 2 тоже что и len(...) % 2 == 0, но быстрее в 2 раза.
# [0 for z in ...] поскольку z нам не нужен, нам нужна лишь длина, я заменил его 0-ом.
print(len(spisok))
Или
Есть , ускорить код в 20 раз, cython.
from cpython.array cimport array
n = int(input()) + 1
spisok = array('I')
cdef unsigned int i, z
for i in range(n):
if not len([0 for z in range(1, i + 1) if not i % z]) % 2: spisok.append(i)
print(len(spisok))
Сохранишь этот код в файл с расширением pyx (например my_file.pyx)
В консоли введёшь команду:
pip install cython # библиотека
cythonize -i my_file.pyx || py -m cythonize -i main.pyx
И создай любой .py файл, добавь туда import того файла:
import my_file
A = [39, 97, 18, 83, 3, 87, 73, 27, 10, 93, 80, 28, 2, 53, 67] # любой список
# Сумма:
S = 0
for i in A: S += i # Сложить все элементы A, результатом будет переменная S
print(S)
# Произведение:
M = 1 # Если будет 0, то всё выражение тоже будет 0
for i in A: M *= i
# Или
if 0 in A: M = 0
else:
for i in A: M *= i
print(M)
# Готовые решения для этих задач (Встроены в Python, использовать их будет разумно.):
# Сумма:
print(sum(A))
# Произведение
import functools
import operator # содержит все возможные операции
print(functools.reduce( # reduce - применить операцию ко всем элементам списка поочерёдно
operator.mul, # операция умножения
A)) # Использовать вариант выше (с проверкой на наличие 0-я, будет предпочтительнее).