Matroids Matheplanet Forum Index
Moderiert von Bilbo matph
Matroids Matheplanet Forum Index » Informatik » Python Primerange
Autor
Schule Python Primerange
Bekell
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 05.09.2008
Mitteilungen: 3025
  Themenstart: 2021-11-13

Hallo, zu primrange steht geschrieben: primerange(a, b): It generates a list of all prime numbers in the range [a, b). Quelle: https://www.geeksforgeeks.org/prime-functions-python-sympy/ jetzt mach ich: \sourceon Python \numberson PZList=[0] # damit die Liste nicht leer ist, die 0 rein. . PZListe=sy.primerange(AltLPr,LPr) . . print("PZ",x,"HalbPrimoral",halbpr,"Prevqud",klq**2,klq,prpr,LPr,len(PZListe), PZListe) \sourceoff beim print sagt er: "TypeError: object of type 'generator' has no len()" Er sagt aber "it generates a list" und eine Liste hat eine Länge. Ich brauch die! normalerweise nutze ich primerange nur in einer for-Schleife. Was zu tun? Ich brauch die Anzahl...


   Profil
Bekell
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 05.09.2008
Mitteilungen: 3025
  Beitrag No.1, vom Themenstarter, eingetragen 2021-11-13

Problem bearbeitet aber nicht gelöst: \sourceon Python \numberson for b in sy.primerange(ALPr,LPr): PZList.append(b) \sourceoff Was mach ich falsch? Er nimmt ALPr # Altprim nicht zum Anfang der Zählung, sondern zählt die PZ bis LPr # Letztprim hoch! obwohl da steht: primerange(a, b): It generates a list of all prime numbers in the range [a, b). Und in beiden Variablen ALPr und LPr stehen Zahlen, also die Liste ist nicht leer... Auch eine Veränderung zu brachte nichts... \sourceon Python \numberson for b in sy.sieve.primerange(ALPr,LPr): PZList.append(b) \sourceoff


   Profil
rlk
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 16.03.2007
Mitteilungen: 11525
Wohnort: Wien
  Beitrag No.2, eingetragen 2021-11-13

Hallo Bekell, die Beschreibung \quoteon(https://docs.sympy.org/latest/modules/ntheory.html) primerange(a, b=None) Generate all prime numbers in the range [2, a) or [a, b). \quoteoff bedeutet nicht, dass eine Liste zurückgegeben wird, wie man zuerst vermuten könnte. Es handelt sich um einen Generator, wie auch in der Fehlermeldung zu lesen ist. Du kannst mit list eine solche erzeugen, wie in dem Beispiel auf https://www.geeksforgeeks.org/prime-functions-python-sympy/ zu sehen ist. \sourceon Python # Output : [2, 3, 5, 7, 11, 13, 17, 19, 23, # 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, # 73, 79, 83, 89, 97] print(list(sympy.primerange(0, 100))) \sourceoff Ich hoffe, das hilft Dir, Roland


   Profil
Bekell
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 05.09.2008
Mitteilungen: 3025
  Beitrag No.3, vom Themenstarter, eingetragen 2021-11-13

\quoteon(2021-11-13 15:53 - rlk in Beitrag No. 2) Ich hoffe, das hilft Dir, Roland \quoteoff Danke Roland, das war der hilfreiche Tip!


   Profil
Bekell hat die Antworten auf ihre/seine Frage gesehen.
Bekell wird per Mail über neue Antworten informiert.

Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2022 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]