Nun kurz zu den Datentypen, die eine sehr wichtige Rolle spielen!
Der Befehl raw_input nimmt Einnahmen entgegen und speichert diese standardmäßig als String (also Zeichenkette) ab. Dies lässt sich leicht durch den Befehl type(variablenname) überprüfen.
name = raw_input('Bitte Ihren Namen eingeben:')
datentyp = type(name)
print datentyp
Diese 3 Zeilen muss man nun allerdings in den Editor eingeben und abspeichern, bevor man das Programm starten kann.
Was passiert?
- Man gibt seinen Namen ein. Dieser wird der Variable name zugewiesen.
- der Variable datentyp wird der Wert der Ausgabe des Befehles type zugewiesen. In Worten: „Sag mir welcher Datentyp die Variable name ist“.
- der print-Befehl gibt diesen Wert schließlich als <type ’str‘> aus. Wir haben hier also eine Zeichenkette eingegeben.
Einige weitere Datentypen
- int (Integer – Ganze Zahlen)
- float (Kommazahl)
- long (lange Integerzahlen)
- complex (komplexe Zahlen)
Was, wenn man mit den Werten rechnen will – Mit Strings kann man das doch nicht!
Richtig! Mit Zeichenketten kann man keine Berechnungen durchführen. Deshalb hängt folgendes Programm die 2 Werte zusammen, anstatt diese zu addieren:
wert1 = raw_input('Wert1: ')
wert2 = raw_input('Wert2: ')
print wert1+wert2
Wenn man mit den beiden Werten rechnen will, muss das so aussehen:
wert1 = int(raw_input('Wert1: '))
wert2 = int(raw_input('Wert2: '))
print wert1+wert2
Warum?
Berechnungen können nur mit Zahlen (Datentyp = Zahl) durchgeführt werden. Durch die Verwendung von int() „weiß“ Python, dass die Eingabe als Integer zu verstehen ist. Strings können nicht zu Berechnungszwecken herangezogen werden. Integerzahlen schon!
Statt int() könnten wir hier auch float() verwenden. Die Inputanweisung würde dann so aussehen:
wert1 = float(raw_input('Wert1: '))
Wir könnten hier dann zum Beispiel: 1.2 eingeben – also eine Kommazah
Übungsaufgabe 1
Schreibe ein Programm, dass 1. Deinen Namen abfragt, danach 2 Werte abfragt – diese addiert und zuletzt folgendes ausgibt:
Hallo Name, die Berechung ergibt Ergebnis. (Wobei Name eine Variable ist und das Ergebnis natürlich der Berechnung entspricht).
Tipp: Die Verkettung von Strings und Zahlen erfolgt mit Hilfe des print Befehles in dieser Art und Weise (, statt +):
print 'Hallo ', name, 'die Berechnung ergibt ', ergebnis
Lösung
name = raw_input('Bitte deinen Namen eingeben: ')
wert1 = int(raw_input('Wert1: '))
wert2 = int(raw_input('Wert2: '))
ergebnis = wert1 + wert2 print 'Hallo ',name,' die Berechnung ergibt ',ergebnis