so habe ich eine Funktion geschrieben, wenn eine Reihe prüft eine PrimzahlHinzufügen einer Nummer auf der Liste, wenn es die Bedingungen in einer anderen Funktion übergibt
def prime_checker(prime):
limit = int(math.sqrt(prime))
x = 2
while x <= limit:
if prime % x != 0:
x += 1
if x == limit:
print("%d is prime" % prime)
return True
else:
print("%d Not a prime" % prime)
return False
prime_checker(199)
Jetzt habe ich eine Funktion erstellen möchten, die Zahlen Tests mit Methode prime_checker und füge diese Nummer an eine Liste an, wenn sie prim ist. Mein Versuch dafür ist:
def prime_counting():
list_of_primes = []
for x in range(10):
if prime_checker(x) == True:
list_of_primes.append(x)
print(list_of_primes)
prime_counting()
Dies funktioniert jedoch nicht. Gibt es eine Möglichkeit, das zu beheben?
'prime_checker (9)', 'prime_checker (25)', 'prime_checker (49)', 'prime_checker (121)' - was sagen diese über 'limit' aus? – Ryan
'prime_checker (3)' gibt 'None' zurück. Das scheint ein guter Ausgangspunkt für das Debuggen zu sein. – Kevin
"Das funktioniert jedoch nicht. Gibt es eine Möglichkeit, das zu beheben?" - Es gibt fast sicher einen Weg, es zu beheben. Die Frage ist, was ist kaputt? Gibt es eine Ausnahme? Ist die Ausgabe falsch? Sind Sie sicher, dass Ihre 'prime_checker'-Funktion korrekt funktioniert? usw. – mgilson