def prime_func():
counter = 0
composites = [2]
primes = [3]
for x in range(4, 50):
for y in range(2, x):
a = x/y
if a - int(a) == 0:
composites = composites + [x]
else:
primes = primes + [x]
counter = counter + 1
if counter == args[1]:
return counter, composites, primes
else:
pass
prime_func()
counter1, composites1, primes1 = prime_func()
print(counter1)
К вашему сведению, это мой первый официальный скрипт на Python.В случае, если вам нужен контекст, он в конечном итоге вычислит x-е простое число, как только будет задан вход (я не включил этот бит, , не путайте с частью args
).
При запуске этого кода я получаю сообщение об ошибке NoneType object is not iterable
.Я посмотрел онлайн, и это сообщение в основном выдается, когда функция фактически ничего не возвращает.Может ли кто-нибудь помочь мне с этой структурой, чтобы она работала?
Первоначально counter
, composites
и primes
были определены вне функции и даны как входные данные, но я изменил это, чтобы увидеть, если что-нибудьизменится.
Мне сказали, что такие переменные (глобальные?) не следует устанавливать внутри функции.