Seite 1 von 1

ergebnisse von primzahlenprogramm als .txt zu speichern

Verfasst: Freitag 18. März 2011, 19:19
von panzer134
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???

Re: ergebnisse von primzahlenprogramm als .txt zu speichern

Verfasst: Freitag 18. März 2011, 20:08
von BlackJack
@panzer134: Du bekommst da doch eine Fehlermeldung. Und die ist eigentlich relativ deutlich.

Re: ergebnisse von primzahlenprogramm als .txt zu speichern

Verfasst: Freitag 18. März 2011, 20:34
von 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()

Re: ergebnisse von primzahlenprogramm als .txt zu speichern

Verfasst: Freitag 18. März 2011, 23:41
von Leonidas
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")

Re: ergebnisse von primzahlenprogramm als .txt zu speichern

Verfasst: Montag 21. März 2011, 19:13
von Hyperion
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

Re: ergebnisse von primzahlenprogramm als .txt zu speichern

Verfasst: Montag 21. März 2011, 19:36
von EyDu
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.

Re: ergebnisse von primzahlenprogramm als .txt zu speichern

Verfasst: Montag 21. März 2011, 19:40
von Hyperion
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:

Re: ergebnisse von primzahlenprogramm als .txt zu speichern

Verfasst: Montag 21. März 2011, 20:09
von Leonidas
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.

Re: ergebnisse von primzahlenprogramm als .txt zu speichern

Verfasst: Sonntag 27. März 2011, 10:43
von sma
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