ergebnisse von primzahlenprogramm als .txt zu speichern

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
panzer134
User
Beiträge: 10
Registriert: Freitag 18. März 2011, 17:48

Hi habe ein primzahlen programm mal abgepost um es etwas zu verändern....
Wollte es so programmieren dass es die ergebnisse als.txt dokument speichert dass funktioniert aba nicht...

Code: Alles auswählen

fob=open("C:\\test\\Primzahlen.txt","a")
def ist_prim(n):
    """ Prüfung ob n eine Primzahl ist """
    if n < 2:
        return False

    if n == 2:
        return True

    if n % 2 == 0:
        return False

    teiler = 3
    menge = 0
    reichweite = n // 2
    while teiler <= reichweite and menge == 0:
        if n % teiler == 0:
            menge += 1
        teiler += 2
        reichweite = n // teiler
    return not (menge == 1 or  n % 2 == 0)
           
def prim_list(n):
    """ Erzeugung von einer Liste von Primzahlen bis zu n """
    primzahlen = list()
    for k in range(2,n):
        if ist_prim(k):
            primzahlen.append(k)
    return primzahlen



# Hauptprogramm
zahl = int(input("Bitte geben sie eine natürliche Zahl ein: "))
print("Primzahl:","ja" if ist_prim(zahl) else "nein")
print("Primzahlen bis",zahl,":",end=" ")
for k in prim_list(zahl):
    print(k,end=" ")
    fob.writeline(str(k))



fob.close()



Wo is mein Fehler???
BlackJack

@panzer134: Du bekommst da doch eine Fehlermeldung. Und die ist eigentlich relativ deutlich.
problembär

panzer134 hat geschrieben:dass funktioniert aba nicht...
Wadde hadde dudde da.

Code: Alles auswählen

a = ["a", "b", "c"]
fh = file("yourfilename", "w")
for i in a:
    fh.write(i + "\n")
fh.close()
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

problembär hat geschrieben:
panzer134 hat geschrieben:dass funktioniert aba nicht...
Wadde hadde dudde da.

Code: Alles auswählen

a = ["a", "b", "c"]
fh = file("yourfilename", "w")
for i in a:
    fh.write(i + "\n")
fh.close()
Ähm:

Code: Alles auswählen

a = ["a", "b", "c"]
with open("yourfilename", "w") as fh:
    for i in a:
        fh.write(i + "\n")
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Leonidas hat geschrieben:
problembär hat geschrieben:
panzer134 hat geschrieben:dass funktioniert aba nicht...
Wadde hadde dudde da.

Code: Alles auswählen

a = ["a", "b", "c"]
fh = file("yourfilename", "w")
for i in a:
    fh.write(i + "\n")
fh.close()
Ähm:

Code: Alles auswählen

a = ["a", "b", "c"]
with open("yourfilename", "w") as fh:
    for i in a:
        fh.write(i + "\n")
Doppel Ähem:

Code: Alles auswählen

a = ["a", "b", "c"]
with open("yourfilename", "w") as fh:
    fh.write("\n".join(i))
:P
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Hyperion hat geschrieben: Doppel Ähem:

Code: Alles auswählen

a = ["a", "b", "c"]
with open("yourfilename", "w") as fh:
    fh.write("\n".join(i))
:P
Ähm, also wenn man das newline am Ende behalten möchte ...

Code: Alles auswählen

a = ["a", "b", "c"]
with open("yourfilename", "w") as fh:
    fh.write("\n".join(i))
    fh.write("\n")
Und: "Es können maximal 3 Zitate ineinander verschachtelt werden." Neeeiiin.
Das Leben ist wie ein Tennisball.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

EyDu hat geschrieben: Ähm, also wenn man das newline am Ende behalten möchte ...
Verdammte Axt... hab ich mir doch eigentlich gedacht, dass Leonidas das nicht einfach "hingeschludert" hatte :oops:
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Hyperion hat geschrieben:hab ich mir doch eigentlich gedacht, dass Leonidas das nicht einfach "hingeschludert" hatte :oops:
Hauptsächlich wollte ich keinen großen String bauen um nicht temporär ein großes Stringobjekt zu allokieren. Ist so ne Angewohnheit von mir, möglichst wenig Daten im Speicher halten zu wollen. Bei dem kleinen Beispiel hier ists natürlich total egal.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Was habt ihr eigentlich gegen print? Das erübrigt den expliziten Zeilenumbruch. Write fühlt sich für mich "low level" an:

Code: Alles auswählen

with open(name, "a") as f:
    for a in ary:
        print >>f, a
oder

Code: Alles auswählen

with open(name, "a") as f:
    for a in ary:
        print(a, file=f)
Stefan
Antworten