Script verursacht Endlosschleife - ich seh den Fehler nicht

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Script verursacht Endlosschleife - ich seh den Fehler nicht

    Ich denke der Titel ist selbsterklärend, ich poste mal den Script

    Quellcode

    1. #!/usr/bin/python
    2. # Berechnen der Primfaktoren einer Zahl
    3. # © Christoph Egger
    4. import sys
    5. def generate_primfactors(x):
    6. n = int(x)
    7. result = []
    8. while n > 1:
    9. for asdf in range(2, n):
    10. if (n%asdf)==0:
    11. n=n/asdf
    12. result.append (asdf)
    13. break;
    14. return result
    15. a = generate_primfactors(sys.argv[1])
    16. print 'Primfaktoren:'
    17. for i in range(0, len(a)-1):
    18. print a[i];
    Alles anzeigen
    There are only 10 types of people in the world: Those who understand binary, and those who don't.

    Download meines ersten Spiels:HIER
    Über Feedback würde ich mich freuen ;)
  • du interpretierst range falsch. Und das in beiden Schleifen

    alt: for asdf in range(2, n):
    neu: for asdf in range(2, n+1):

    alt: for i in range(0, len(a)-1):
    neu: for i in range(0, len(a)):


    Die for-Schleife mit einem Zähler nachzuimplementieren ist aber auch ungewöhnlich.
    Besser:

    Quellcode

    1. for i in a:
    2. print i


    Außerdem haben sich ein paar Semikolons in den Code verirrt ;)