/ / Prečo nemôžem pridať nájdený prvok, do zoznamu prvočísel? - python

Prečo nemôžem pridať nájdený prvok do zoznamu prvočísel? - python

Snažím sa jednoducho vytlačiť nájdené prvočísla. Chcem pridať k hlavnej [], ale dostanem TypeError

line 63, in isprime
primes += n
TypeError: "int" object is not iterable

Kód:

def isprime(n):
primes = []
if n == 1:
print "1 is special"
return False
for x in range(2, n):
if n%x == 0:
print "{} equals {} x {}".format(n, x, n // x)
return False
else:
primes += n
print (n, "is a prime number")
return True

for n in range(1, 1000):
isprime(n)

odpovede:

4 pre odpoveď č. 1

+= na a list je určený na zjednotenie jedného list do iného. Ak chcete pridať jeden prvok na koniec list, môžete buď urobiť jednoduché:

primes.append(n)

alebo dočasne list povoliť operáciu zoraďovania zoznamov do práce (tento prístup je pomalší a len triviálne súhrnnejší, s väčším zapojením pamäte; .append pokiaľ nie je potrebné pridať viac ako jeden prvok naraz, v takom prípade += prístupové stupnice lepšie pre literály s viacerými prvkami):

primes += [n]

0 pre odpoveď č. 2

primes je zoznam, aby ste ho pridali n, čo je int, na to, musíte použiť append metóda. vymeniť primes += n s primes.append(n).