Seite 1 von 1

Verfasst: Montag 18. Februar 2008, 16:18
von BlackJack
Und wir und Dein Lehrer hätten halt lieber eine Lösung von Dir, die Du verstehst. ;-)

Verfasst: Donnerstag 21. Februar 2008, 13:32
von nightm4r3^
ja ne ist klar. ich werd dem auch sicher kein programm geben das ich nicht selber verstehe.

ich will einfach nur wissen wie ihr sowas lösen würdet

Verfasst: Donnerstag 21. Februar 2008, 13:53
von keppla
nightm4r3^ hat geschrieben:ja ne ist klar. ich werd dem auch sicher kein programm geben das ich nicht selber verstehe.
optimal wäre natürlich, wenn du ihm ein Programm geben würdest, was du selber geschrieben hast.

Wie "wir" es lösen würden, hat blackjack dir gezeigt.
Wie du es lösen würdest, können wir dir nicht sagen.

Verfasst: Donnerstag 21. Februar 2008, 15:21
von numerix
Sieht dein Quelltext immer noch so aus?

Code: Alles auswählen

#Definition der Quersumme:
def Quersumme(a):
    quersumme=sum([int(p) for p in str(a)])
    print quersumme

#Definition der Prüfziffer
def pruefziffer(a):
    Liste1=map(int, str(a))
    Listeungerade=[]
    i=len(Liste1)
    for n in range (0,i):
        if Liste1[n]%2==0:
            quersumme=Quersumme(Liste1[n]*2)
            print quersumme 
Die Berechnung der Quersumme funktioniert ja schonmal. Aber du solltest dir erst einmal die Mühe machen, etwas aufzuräumen, die Bezeichner geschickter und gemäß üblicher Konvention zu benennen (Funktionen und Variablen klein anfangen):
  • Eine zusätzliche Variable in der Quersummenfunktion brauchst du nicht. Statt einer Ausgabe auf den Bildschirm wäre die Rückgabe wohl sinnvoll. Darauf hat Leonidas schon hingewiesen.
  • Wenn du beim Erzeugen der Liste die Reihenfolge der Ziffern gleich umdrehst, machst du dir den Rest einfacher. Du kannst dann von vorne jedes zweite Listenelement behandeln. Wenn du bei range() bleiben willst, dann kannst du die Schrittweite als dritten Parameter ja gleich angeben und diese Elemente zunächst nur verdoppeln.
  • Dann läufst du einmal durch Liste und bildet von jedem Element die Quersummme, danach dann die Summe aller Listenelemente.
  • Wie du die Differenz zum nächsten Vielfachen von Zehn ermittelst, kannst du erstmal selbst überlegen. Das fehlt in deinem Code noch.