Mein Ziel des folgenden Code istPython - Prime Kontrolle und erhöhen
- überprüfen, ob eingegebene Zahl eine Primzahl
- wenn nicht die nächste größte Primzahl drucken
def primetest (num):
for c in range (2, num):
if num % c == 0:
repeattest (num) #not prime? increment number
else :
print (num,"is a prime number")
break
def repeattest (num): # check prime if not increment number by 1
for z in range (2, num):
num = num+1
primetest (num)
if num % z == 0:
num = num+1
else:
print ("Next Prime:", num+1)
break
num = int (input ("enter a number:")) # main code:
for y in range (2, num):
if num % y == 0:
repeattest (num)
else:
print (num,"is a prime number")
break
Ich denke, die Logik ist in Ordnung, aber nicht sicher, warum ich keine Ausgabe bekomme.
Die Einrückung s = ist wirklich seltsam –
1. Sie sollten 'c' von' 2' zu 'math.sqrt (num)', für eine bessere Effizienz. Sehen Sie sich auch Ihre Logik an. Scheint aus. –
Mögliches Duplikat von [Python: Auf Prime und Inkrement prüfen] (http://stackoverflow.com/questions/41661490/python-to-check-for-prime-and-increment) –