Ich versuche, alle Primzahlen in einen Bereich von gegebenen Zahlen (niedrig und maximal, einschließlich Zahlen enthalten) zu drucken.Drucken Primzahlen in einem Bereich von gegebenen Zahlen
Zum Beispiel:
num1 = 10, num2 = 20
>>> 11, 13, 17, 19
Mein Code nicht in einigen Gelegenheiten und ich kann nicht verstehen, warum:
num1 = int(input('First number is: '))
num2 = int(input('Second number is: '))
if num2 <= num1:
num1,num2 = num2,num1
for i in range(num1, num2+1):
for p in range(2,int(num2**0.5)+1):
if i%p == 0:
break
else:
print(i,' ',end = '')
print('\n')
Ergebnisse:
1 bis 7 >>> 1 3 5 7 (weglässt 2)
1 >>> 30 zu 1 7 11 13 17 19 23 29 (weglässt 2,3,5)
1 >>> 60 1 7 11 13 17 19 23 29 (weglässt 2,3,5,7)
0 bis 0 0 >>> (prints 0 -> keine Primzahl)
0 bis 7 >>> 1 3 5 7 (keine 2)
Wie kann Ich korrigiere das? Vielen Dank!
ps. Nummer 1 ist auch kein Prime.
Wenn num2
@MarkTolonen, ich habe danach gesucht. Danke für den Tipp, ich habe die Frage bearbeitet. –