Hallo Leute!
mal wieder eine Frage, hab schon paar sachen aussprobiert, aber irgendwie will es net wie ich!
ich habe eine liste, die mit unterschiedlich vielen werten gefüllt werden soll! diese sollen dann unabhängig von der anzahl addiert werden!
wie könnte ich sowas am besten machen?
vielen dank
Liste--> Werte addieren
-
- User
- Beiträge: 36
- Registriert: Dienstag 10. Januar 2006, 13:24
- Kontaktdaten:
Never touch a running system...
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi Alpha-Phonix!Alpha-Phonix hat geschrieben:ich habe eine liste, die mit unterschiedlich vielen werten gefüllt werden soll! diese sollen dann unabhängig von der anzahl addiert werden!
Code: Alles auswählen
sum([1, 2, 3, 4, 5, 6.0, 7])
reduce(lambda a, b: a + b, [1, 2, 3, 4, 5.0])
Gerold

http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
-
- User
- Beiträge: 36
- Registriert: Dienstag 10. Januar 2006, 13:24
- Kontaktdaten:
ich kriegs irgendwie nicht genau hin....
hier ist mein bisheriger Code:
das in den kommentaren soll nun ersetzt werden, da ich ja normal nicht weiß, wieviel elemente die liste enthält!
hier ist mein bisheriger Code:
Code: Alles auswählen
schnittlaenge=figur.rechneSchnittlaenge()
self.m_SchnittListe.append(schnittlaenge)
def rechneSchnittlaenge(self):
#self.schnitt=self.m_SchnittListe[0]+self.m_SchnittListe[1]
#print self.schnitt
Never touch a running system...
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
gerold hat dir doch schon die Lösung gegeben:
Code: Alles auswählen
def rechneSchnittlaenge(self):
self.schnitt = sum(self.m_SchnittListe)
print self.schnitt
-
- User
- Beiträge: 36
- Registriert: Dienstag 10. Januar 2006, 13:24
- Kontaktdaten:
vielen dank, es hat geklappt, ihr seit spitze!
Never touch a running system...
-
- User
- Beiträge: 36
- Registriert: Dienstag 10. Januar 2006, 13:24
- Kontaktdaten:
noch ne kleinigkeit, wenn ich jetzt was speicher gibt er zum beispiel 12,456823482348234 aus, wie kann ich des formatieren auf 2 stellen?
Never touch a running system...
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Code: Alles auswählen
t = 12.456823482348234
print "%.2f" % t
-
- User
- Beiträge: 36
- Registriert: Dienstag 10. Januar 2006, 13:24
- Kontaktdaten:
ja des weiß ich, aber wenn ich des beim speichern mach, dann sagt er mir, dass TypeError: not enough arguments for format string!
weil ich ja noch %s hab
weil ich ja noch %s hab
Code: Alles auswählen
def speichern(self):
f=file("Daten.txt","w")
f.write("%s\n" % self.m_figurListe)
f.write("Gesamtflaeche:")
f.write("%s\n" % self.flaeche)
f.write("Gesamtschnittlaenge:")
f.write("%s\n" % self.schnitt)
f.close()
Never touch a running system...
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Du mußt es ja auch austauschenAlpha-Phonix hat geschrieben:weil ich ja noch %s hab

Code: Alles auswählen
def speichern(self):
f=file("Daten.txt","w")
#f.write("%s\n" % self.m_figurListe)
#f.write("Gesamtflaeche:")
#f.write("%s\n" % self.flaeche)
f.write("Gesamtschnittlaenge:")
f.write("%.2f\n" % self.schnitt)
f.close()
-
- User
- Beiträge: 36
- Registriert: Dienstag 10. Januar 2006, 13:24
- Kontaktdaten:
des macht mein prog automatisch!
wie kann ich die gespeicherten werte wierder benutzen??
wie kann ich die gespeicherten werte wierder benutzen??
Never touch a running system...
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Du kannst halt per Hand die Datei wieder einlesen und parsen.... Aber nutzt doch einfach den ConfigParser: http://www.python.org/doc/current/lib/m ... arser.html
http://www.python-forum.de/viewtopic.php?t=4676
http://www.python-forum.de/viewtopic.php?t=4676
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi Alpha-Phonix!Alpha-Phonix hat geschrieben:wie kann ich die gespeicherten werte wierder benutzen??
Du kannst deine Datei parsen, indem du alle Zeilen durchläufst und dir die Werte einzeln wieder herausparst.
Falls du aber nicht auf ein spezielles Dateiformat angewiesen bist, dann könntest du deine Daten in ein Standardformat bringen und die dafür vorgesehenen Parser verwenden.
Menschenlesbar:
ConfigParser --> INI-Format
Syck --> YAML-Format
ElementTree --> XML
Maschinenlesbar:
Pickle --> Schnelles Binärformat
Shelve --> dictionaryartiges Binärformat
Oder du schreibst alles in ein Dictionary und lässt dieses dann mit dict_to_file in eine Datei schreiben. Diese kann danach mit file_to_dict wieder ausgelesen werden und liefert dir alle Daten wieder in ein Dictionary zurück. Siehe folgenden Code von Dookie:
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-
"""
******************************************************************************
* Description: Speichert ein Dictionary in eine Datei und liest diese
* auch wieder aus. Vorsicht! Dabei wird allerdings alles in
* einen String umgewandelt.
* By Dookie: http://www.python-forum.de/viewtopic.php?t=1785
******************************************************************************
"""
import sys, re
#----------------------------------------------------------------------
def dict_to_file(d, name, sep='='):
items = d.items()
items.sort()
f = file(name, 'w')
for key, value in items:
f.write('%s\t%s "%s"\n' % (key, sep, str(value)))
f.close()
#----------------------------------------------------------------------
def file_to_dict(name, sep="="):
f = file(name,'r')
c = f.read()
f.close()
regex = '((\w+)\s*%s[ \t\f\v]*(("[^"]*")|(\S*))[^\n]*\n)' % sep
result = dict([(x[1],x[2].strip('"').strip()) for x in re.findall(regex,c)])
return result
mfg
Gerold

http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.