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.
Hallo zusammen,
ich bin mal wieder da mit einem Problem!
Ich habe angefangen ein program zu programmieren, dass sozusagen die Quersumme eines Namen ermittelt..
Also die Buchstaben werden in Zahlen umgewandelt und dann wird die Quersumme dieser berechnet! Hier ist was ich bisher haben:
Python2 ist veraltet, steige auf Python3 um. Variablennamen sollten aussagekräftig sein. `l` ist ein besonders schlechter Name, weil er leicht mit 1 verwechselt werden kann.
Wo hast Du ein Problem? Was ist das Ergebnis und wie weicht es von dem ab, was Du erwartest? Gibt es eine Fehlermeldung? Wenn ja, welche?
was funktioniert denn nicht, wie du es erwartest? Kommt eine Fehlermeldung? Explodiert dein Rechner?
Wie ist Quersumme definiert? Wie in der Mathermatik üblich? Dann fehlt die Quersummenbildung bei dir. Der Code versucht ja nur, die Summe der Buchstabenwerte zu bilden.
Ist A=1, B=2, ... a=1, b=2? Wenn ja musst du bei `ord` den offset berücksichtigen, weil `ord('A`) ja nicht gleich 1 ist.
Und wenn du eine Quersumme berechnen willst wäre es gut, die Integerwerte nicht vor dem Rechnen in Strings zu wandeln.
Wie die Zahlen bestimmt werden zu den Buchstaben weiß ich auch noch nicht jedoch habe ich herausgefunden, dass "A" die Zahl 65 ist und dann geht das so weiter "B" ist 66 usw...Die Quersumme ist genauso definiert wie in der mathematik. Wie ist es also möglich die Zahlen zusammenzurechnen und die Quersumme zu ermitteln? Oder habe ich da einen ganz falschen ansatz?
Wenn Du noch nicht weißt, wie die zu den Buchstaben gehörigen Zahlenwerte bestimmt werden können, dann frage ich mich, wo Du den von Dir geposteten Code her hast.
Zuletzt geändert von kbr am Freitag 3. April 2020, 12:09, insgesamt 1-mal geändert.
Hast Du verstanden, was Du da geschrieben, bzw. kopiert hast? Dann beantworten sich Deine Fragen von alleine. Andernfalls nimm mal das Programm Stück für Stück auseinander und schau Dir an, was jeder einzelne Schritt tut.
Wenn du alle Zahlen in einem String hast dann musst du mit einer Schleife über die Chars des Strings iterieren und die in einen Int umwandeln und dann einfach nur aufaddieren.
`map` wendet eine Funktion (das 1. Argument) auf eine "Iterable" (2. Argument). Das ist aber auch in der Doku von Python erklärt...
Das 2. ist halt eine for-Schleife, wo über l iteriert wird und in der Schleife n = n + x gerechnet wird. Schreibt man eigentlich zwecks Lesbarkeit in 2 Zeilen.
'ord' ist eine Funktion, die Du nachschlagen kannst, und das zweite mit 'for' ist eine Schleife. Die Lösungen der anderen Aufgabe mit der alternieren Groß- und Kleinschreibung, wirst Du, trotz anderslautender Aussage, auch nicht verstanden haben. Das ist keine Schande, denn die Lösungen waren nicht gerade für Anfänger. Anfänger sein ist auch keine Schande, denn jeder fängt mal an. Aber ich habe den Eindruck, dass Du hier unverstandene Codefragmente einwirfst und hoffst, dass andere die Dinge ans Laufen bringen, so dass Du Lösungen hast, die Du abgeben kannst.
Das Problem dabei ist, falls Du damit durchkommst, Du irgendwann mit Aufgaben konfrontierst wirst, die Du wirklich alleine lösen musst - und dann wirst Du scheitern. Beim Programmieren gibt es einfach kein Durchgewurschtel.
@kbr du hast recht ja, jedoch habe ich nur noch dieses Schuljahr Informatik und insgesamt, nach den Osterferien, auch nur noch drei Stunden..Ich möchte da einfach mit einer guten Note rauskommen und es wäre toll wenn mir dabei jemand helfen könnte...ich habe schon so oft versucht das alles zu verstehen, jedoch habe ich es bis heuet nicht geschafft und ich möchte hier auch niemanden irgendwie "ausnutzen" ich benötige lediglich ein wenig Hilfe bei dieser Aufgabe!
Interessant ist was pythonkid schon alles programmiert und verstanden hat, und dann mit der Frage kommt ob jemand mal ``for x in l: n+=x`` erklären könnte. Ich weiss nicht ob das jetzt zum lachen oder zum weinen ist. Wahrscheinlich etwas von beidem.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Ich habe dir schon einen Vorschlag gemacht wie mit deinem Codegewusel weiter arbeiten kannst. Das ganze ist eine kleine Schleife. Wenn du das nicht hinbekommst dann tut es mir Leid und die Note für den Informatikunerricht ist dann wohl berechtigt.
Was bringt es dir wenn du eine 1 auf dem Zeugnis hast, der spätere Arbeitgeber dich dann einstellt weil er denkt du kannst was im Bereich Informatik und dann hast du doch keine Ahnung? (Ist nur ein gut gemeinter Rat)
Es gab auch einige Fächer wo ich eine Niete war, aber dann ist das halt so, man kann nicht überall gut sein.
@phythonkid: wenn Dein Wissenstand eben eine nicht ganz so gute Note bedeutet, dann kannst Du entweder mit dem Ergebnis leben, oder Dich wirklich hinsetzen und etwas lernen.
Noe. Das ist ueberhaupt nicht schlimm. Bescheissen ist schlimm. Wenn du nicht gut in was bist, lern es halt. Oder finde dich damit ab, dass du es nicht kannst, und steck maue Note weg.