Seite 1 von 3
Quersumme eines Namen ermitteln
Verfasst: Freitag 3. April 2020, 10:59
von phythonkid
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:
Code: Alles auswählen
Name = "Phythonkid"
l = map(str,(map(ord, Name)))
n = ""
for x in l: n+=x
print n
Ich würde mich freuen wenn mir jemand dabei helfen könnte!

Re: Quersumme eines Namen ermitteln
Verfasst: Freitag 3. April 2020, 11:16
von Sirius3
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?
Re: Quersumme eines Namen ermitteln
Verfasst: Freitag 3. April 2020, 11:20
von phythonkid
Das Ergebnis ist hier :80104121116104111110107105100. Dies sind jedoch alles einzelne Zahlen und ich möchte sie zusammenrechnen!
Re: Quersumme eines Namen ermitteln
Verfasst: Freitag 3. April 2020, 11:22
von noisefloor
Hallo,
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.
Gruß, noisefloor
Re: Quersumme eines Namen ermitteln
Verfasst: Freitag 3. April 2020, 11:47
von Sirius3
Das ist das, was Du programmiert hast. Du addierst hier ja keine Zahlen, sondern Strings.
Re: Quersumme eines Namen ermitteln
Verfasst: Freitag 3. April 2020, 12:05
von phythonkid
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?
Re: Quersumme eines Namen ermitteln
Verfasst: Freitag 3. April 2020, 12:09
von kbr
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.
Re: Quersumme eines Namen ermitteln
Verfasst: Freitag 3. April 2020, 12:09
von Sirius3
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.
Re: Quersumme eines Namen ermitteln
Verfasst: Freitag 3. April 2020, 12:13
von phythonkid
Könnte mir jemand vielleicht die Zeile erklären:
und diese:
Re: Quersumme eines Namen ermitteln
Verfasst: Freitag 3. April 2020, 12:21
von Jankie
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.
Re: Quersumme eines Namen ermitteln
Verfasst: Freitag 3. April 2020, 12:23
von noisefloor
Hallo,
`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.
Gruß, noisefloor
Re: Quersumme eines Namen ermitteln
Verfasst: Freitag 3. April 2020, 12:24
von Jankie
Ergänzend zu noisefloor:
Die Funktion ord() gibt eine ganze Zahl zurück, die das Unicode-Zeichen darstellt.
Die Funktion str() gibt die String-Version des angegebenen Objekts zurück.
Re: Quersumme eines Namen ermitteln
Verfasst: Freitag 3. April 2020, 12:32
von kbr
'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.
Re: Quersumme eines Namen ermitteln
Verfasst: Freitag 3. April 2020, 12:40
von phythonkid
@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!
Re: Quersumme eines Namen ermitteln
Verfasst: Freitag 3. April 2020, 12:41
von __blackjack__
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.
Re: Quersumme eines Namen ermitteln
Verfasst: Freitag 3. April 2020, 12:44
von Jankie
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.
Re: Quersumme eines Namen ermitteln
Verfasst: Freitag 3. April 2020, 12:49
von Sirius3
@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.
Re: Quersumme eines Namen ermitteln
Verfasst: Freitag 3. April 2020, 12:54
von phythonkid
Ist das denn so schlimm wenn ich schlecht im programmieren bin??!
Re: Quersumme eines Namen ermitteln
Verfasst: Freitag 3. April 2020, 12:55
von Jankie
Da ist ja nichts schlechtes dran, wenn du aber vorgibst Programmieren zu können, aber kannst es nicht finde ich das nicht ok.
Nochmal etwas deutlicher:
Code: Alles auswählen
Für jedes Zeichen in deinem String:
wandle Zeichen in Integer um und addiere ihn auf eine Variable
und printe am ende die Variable
Re: Quersumme eines Namen ermitteln
Verfasst: Freitag 3. April 2020, 12:56
von __deets__
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.