@avatarble)
Ich würde mal ganz klar sagen, dass Google Suche oft hilft. Jedoch hilft dies nur für diese "leichten" Probleme, wo ihr später dann schwerere Probleme beheben wollt, wird diese Methode nicht mehr zu Verfügung sein. Daher rate ich Dir unbedingt Online ein Tutorial zu lesen bzw. (nimm es nicht böse) im Unterricht besser aufpassen. Variablen sind mehr als Grundwissen, das wichtigste was es in der Programmierung gibt.
Ich will Dir aber mal dennoch helfen:
- Öffne Python Shell und gebe ein:
- gebe mit Hilfe von print den Wert des Variablennamens aus:
Welche Beobachtung machst Du? Im Python Shell siehst Du die Ausgabe Herr Wolf. Warum ist das so? Du hast den Wert "Herr Wolf" dem Etikett (gleichgesetzt mit dem Namen bzw. Variablenname) zugewiesen. Mit dem Gleichheitszeichen sorgst Du dafür, dass Python etwas zuweist. (oder gleichsetzt). Eine Variable speichert einem Wert in einem Speicherabschnitt im Computer. Das heisst jetzt, dass irgendwo im Speicher Deines Computers die Buchstaben "Herr Wolf" liegen.
Um es kurz auszudrücken:
- Du hast die Buchstaben "Herr Wolf" dem Etikett lehrer zugewiesen
- Dabei bedeutet das Gleichheitszeichen, dass Du Python etwas zuweist
- Und das heisst jetzt, dass die Buchstaben "Herr Wolf" irgendwo im Speicher liegen
Um es genauer "Buchstaben" genauer zu definieren:
Sieh Dir nochmal den Code kurz an:
In Python gibt es verschiedene Datentypen. "" bedeutet , dass es ein String ist. Also hat der Wert des Etiketts lehrer den Typ "string". string = Zeichenkette (
http://de.wikipedia.org/wiki/Zeichenkette). Es gibt auch noch integer (Zahlen) floats (Fließkommazahlen) und noch viele weitere. Da empfehle ich Dir nur zu lesen.
Also: Dem Etiketten lehrer wird der Wert "Herr Wolf" des Typs string zugewiesen.
Nun zu Deinem Problem:
In Deinem Programm hast Du die Inputs nicht in Variablen gespeichert. Das ist das erste, dass mir auffällt. Dann - welche Python Version benutzt Du? Falls Du Python 2.x verwendest, solltest Du , wie /me sagte, raw_input verwenden.
Teste den Code unter "Run Module". Hilfe! Es tut nicht , was Du machen willst! Warum? Mit raw_input willst Du erreichen, dass der User was eingibt. Diese Eingabe speichert Python jedoch wieder in Strings. D.h. für Dich, dass es Zeichenketten nicht einfach mal so wie Zahlen behandeln kann.
Schau Dir mal das an:
In diesem Beispiel weise ich den String "Hello World" dem Namen (Etikett) a zu und den String "Ich grueße Dich" weise ich dem Namen(Etikett) b zu. Nun will ich diese Strings "addieren". Zwei Strings zu addieren geht nicht. Ausgabe ist: "Hello WorldIch grueße Dich!". Merkst Du was passiert ist?
Also wie wir festgestellt haben sind die Typen beider Etiketten a und b allesamt strings. Ich müsste sie irgendwie in Zahlen "umwandeln". Das kannst Du mit der Funktion
int() erzielen. Sie konvertiert einen String (der eine Zahl enthalten muss) in eine Zahl!
Schau Dir mal dieses Beispiel an:
So nun hast Du die Etiketten a und b des Typen string mit Hilfe der int() Funktion in eine Zahl umgewandelt und es funktioniert!
Jetzt lautet Deine Aufgabe, wie Du das für Dein Problem lösen könntest
Achtung: Die Codes sind für Python 2.x , nicht für python 3.x
Und im Erklären bin ich leider nicht der Beste, habe es aber versucht
