Dein erstes Python-Programm
Lerne print(), input() und Kommentare kennen und schreibe dein erstes interaktives Python-Programm. Programmieren lernen war noch nie so einfach!
Dein erstes Python-Programm
Jetzt wird es praktisch! In diesem Kapitel lernst du die grundlegendsten Bausteine von Python kennen: Text ausgeben, Eingaben vom Benutzer lesen und Kommentare schreiben. Am Ende hast du ein interaktives Programm gebaut.
Die print() Funktion
print() ist die wichtigste Funktion fuer den Anfang. Sie gibt Text (und andere Dinge) auf dem Bildschirm aus.
Einfache Ausgaben
# Text ausgeben
print("Hallo Welt!")
# Zahlen ausgeben
print(42)
# Berechnungen direkt ausgeben
print(3 + 4)
# Mehrere Werte ausgeben
print("Ergebnis:", 3 + 4)
Ausgabe:
Hallo Welt!
42
7
Ergebnis: 7
Verschiedene Anwendungen von print()
# Leere Zeile ausgeben
print()
# Mehrere Werte mit Komma trennen
print("Ich", "lerne", "Python")
# Ausgabe: Ich lerne Python
# Trennzeichen aendern mit sep
print("Ich", "lerne", "Python", sep="-")
# Ausgabe: Ich-lerne-Python
# Zeilenende aendern mit end
print("Hallo", end=" ")
print("Welt!")
# Ausgabe: Hallo Welt! (alles in einer Zeile)
Mehrzeilige Ausgaben
# Mehrere print-Aufrufe
print("Zeile 1")
print("Zeile 2")
print("Zeile 3")
# Oder mit Zeilenumbruch \n
print("Zeile 1\nZeile 2\nZeile 3")
# Oder mit dreifachen Anfuehrungszeichen
print("""
Das ist ein
mehrzeiliger
Text.
""")
Strings — Text in Python
In Python heissen Texte Strings. Du kannst sie mit einfachen oder doppelten Anfuehrungszeichen erstellen:
# Doppelte Anfuehrungszeichen
print("Hallo Welt!")
# Einfache Anfuehrungszeichen -- genau gleich
print('Hallo Welt!')
# Nuetzlich, wenn der Text Anfuehrungszeichen enthaelt
print("Er sagte: 'Hallo!'")
print('Sie sagte: "Tschuess!"')
Strings mit Variablen verbinden
name = "Anna"
alter = 22
# Methode 1: Komma in print()
print("Hallo,", name)
# Methode 2: String-Verkettung mit +
print("Hallo, " + name + "!")
# Methode 3: f-Strings (EMPFOHLEN!)
print(f"Hallo, {name}! Du bist {alter} Jahre alt.")
f-Strings sind die modernste und lesbarste Methode. Schreibe ein f vor den String und setze Variablen in geschweifte Klammern {}:
preis = 19.99
menge = 3
gesamt = preis * menge
print(f"Preis pro Stueck: {preis} EUR")
print(f"Menge: {menge}")
print(f"Gesamtpreis: {gesamt:.2f} EUR")
# Ausgabe: Gesamtpreis: 59.97 EUR
Das :.2f sorgt dafuer, dass genau zwei Nachkommastellen angezeigt werden — nuetzlich fuer Geldbetraege!
Die input() Funktion
input() ist das Gegenstueck zu print() — sie liest eine Eingabe vom Benutzer ein.
Grundlagen
# Benutzer nach dem Namen fragen
name = input("Wie heisst du? ")
print(f"Hallo, {name}!")
Im Terminal sieht das so aus:
Wie heisst du? Max
Hallo, Max!
Das Programm wartet, bis der Benutzer etwas tippt und Enter drueckt.
Wichtig: input() gibt immer einen String zurueck!
# Das gibt einen STRING zurueck, keine Zahl!
alter = input("Wie alt bist du? ")
print(type(alter)) # <class 'str'>
# Fuer Berechnungen musst du den String in eine Zahl umwandeln
alter = int(input("Wie alt bist du? "))
print(type(alter)) # <class 'int'>
# Jetzt kannst du rechnen
geburtsjahr = 2026 - alter
print(f"Du wurdest ca. {geburtsjahr} geboren.")
Typumwandlung: str, int, float
# String zu Ganzzahl
zahl = int("42") # 42
# String zu Kommazahl
preis = float("19.99") # 19.99
# Zahl zu String
text = str(42) # "42"
# Praktisches Beispiel
laenge = float(input("Laenge in cm: "))
breite = float(input("Breite in cm: "))
flaeche = laenge * breite
print(f"Flaeche: {flaeche:.1f} cm2")
Kommentare
Kommentare sind Notizen im Code, die Python komplett ignoriert. Sie sind fuer dich und andere Entwickler, um den Code zu erklaeren.
Einzeilige Kommentare mit
# Das ist ein Kommentar
print("Hallo") # Das ist auch ein Kommentar
# Variablen fuer die Berechnung
laenge = 10 # in Metern
breite = 5 # in Metern
# Flaeche berechnen
flaeche = laenge * breite
print(f"Flaeche: {flaeche} m2")
Mehrzeilige Kommentare mit dreifachen Anfuehrungszeichen
"""
Das ist ein mehrzeiliger Kommentar.
Er kann sich ueber mehrere Zeilen erstrecken.
Python ignoriert alles zwischen den dreifachen Anfuehrungszeichen.
"""
'''
Mit einfachen Anfuehrungszeichen geht es auch.
Wird oft fuer Docstrings (Dokumentation) verwendet.
'''
def berechne_flaeche(laenge, breite):
"""
Berechnet die Flaeche eines Rechtecks.
Parameter:
laenge: Die Laenge in Metern
breite: Die Breite in Metern
Rueckgabe:
Die Flaeche in Quadratmetern
"""
return laenge * breite
Wann solltest du Kommentare schreiben?
# SCHLECHT: Erklaert das Offensichtliche
x = x + 1 # x um 1 erhoehen
# GUT: Erklaert das WARUM
x = x + 1 # Korrektur fuer den Off-by-one-Fehler in der API
# GUT: Warnt vor etwas Wichtigem
# ACHTUNG: Diese Funktion braucht eine Internetverbindung!
daten = lade_von_server()
Faustregel: Kommentare sollten erklaeren, warum du etwas tust, nicht was du tust. Guter Code erklaert sich selbst.
Ein interaktives Programm
Jetzt bauen wir ein kleines interaktives Programm, das alles verbindet, was wir gelernt haben:
# begruessung.py -- Mein erstes interaktives Programm
# Begruessung
print("=" * 40)
print(" Willkommen beim Begruesser 3000!")
print("=" * 40)
print()
# Benutzerdaten abfragen
name = input("Wie heisst du? ")
alter = int(input("Wie alt bist du? "))
stadt = input("Wo wohnst du? ")
# Berechnungen
geburtsjahr = 2026 - alter
tage_gelebt = alter * 365
# Ausgabe
print()
print(f"Hallo, {name} aus {stadt}!")
print(f"Du bist {alter} Jahre alt und wurdest ca. {geburtsjahr} geboren.")
print(f"Das sind ungefaehr {tage_gelebt:,} Tage!")
print()
# Altersabhaengige Nachricht
if alter < 18:
print("Du bist noch jung -- die perfekte Zeit zum Programmieren lernen!")
elif alter < 30:
print("Beste Zeit fuer eine Karriere in der IT!")
elif alter < 50:
print("Erfahrung plus Programmieren -- eine starke Kombination!")
else:
print("Man lernt nie aus -- grossartig, dass du Python lernst!")
print()
print("Viel Spass beim Programmieren!")
print("=" * 40)
Beispielausgabe:
========================================
Willkommen beim Begruesser 3000!
========================================
Wie heisst du? Anna
Wie alt bist du? 25
Wo wohnst du? Berlin
Hallo, Anna aus Berlin!
Du bist 25 Jahre alt und wurdest ca. 2001 geboren.
Das sind ungefaehr 9,125 Tage!
Beste Zeit fuer eine Karriere in der IT!
Viel Spass beim Programmieren!
========================================
Was haben wir hier verwendet?
print()fuer die Ausgabeinput()fuer Benutzereingabenint()fuer die Umwandlung von String zu Zahl- f-Strings fuer formatierte Ausgaben
"=" * 40um einen String 40 Mal zu wiederholen{tage_gelebt:,}fuer Tausender-Trennzeichenif/elif/elsefuer bedingte Ausgaben (kommt spaeter noch ausfuehrlich!)
Fehler lesen und verstehen
Fehler gehoeren zum Programmieren dazu — sie sind keine Katastrophe, sondern hilfreiche Hinweise. Python-Fehlermeldungen sind besonders gut lesbar.
SyntaxError — Tippfehler in der Syntax
# Anfuehrungszeichen vergessen
print("Hallo Welt)
Fehlermeldung:
File "test.py", line 1
print("Hallo Welt)
^
SyntaxError: unterminated string literal
Python sagt dir:
- Welche Datei das Problem hat (
test.py) - Welche Zeile betroffen ist (
line 1) - Was falsch ist (
unterminated string literal= String nicht abgeschlossen)
NameError — Variable nicht definiert
print(nachricht) # Variable existiert nicht
Fehlermeldung:
NameError: name 'nachricht' is not defined
Loesung: Variable vorher definieren:
nachricht = "Hallo!"
print(nachricht)
TypeError — Falscher Datentyp
alter = input("Alter: ") # Gibt einen String zurueck
naechstes_jahr = alter + 1 # String + Zahl geht nicht!
Fehlermeldung:
TypeError: can only concatenate str (not "int") to str
Loesung: String in Zahl umwandeln:
alter = int(input("Alter: "))
naechstes_jahr = alter + 1
ValueError — Falscher Wert
zahl = int("abc") # "abc" ist keine Zahl!
Fehlermeldung:
ValueError: invalid literal for int() with base 10: 'abc'
Loesung: Sicherstellen, dass der Benutzer eine Zahl eingibt.
Fehlermeldungen lesen — die Strategie
Traceback (most recent call last): <-- Rueckverfolgung
File "test.py", line 5, in <module> <-- Datei und Zeile
ergebnis = 10 / 0 <-- Die problematische Zeile
ZeroDivisionError: division by zero <-- Der Fehlertyp und die Beschreibung
Lies Fehlermeldungen immer von unten nach oben! Die letzte Zeile ist die wichtigste — sie sagt dir, was schiefgelaufen ist.
Uebung: Dein eigenes Begruesungsprogramm
Jetzt bist du dran! Erstelle eine Datei steckbrief.py und baue ein Programm, das:
- Nach dem Namen fragt
- Nach dem Lieblingsfach fragt
- Nach der Lieblingszahl fragt (als Zahl einlesen!)
- Einen schoenen Steckbrief ausgibt
- Die Lieblingszahl verdoppelt und ausgibt
Vorlage zum Starten
# steckbrief.py -- Mein Steckbrief-Generator
print("=== Steckbrief-Generator ===")
print()
# Hier deine Eingaben abfragen:
# name = input(...)
# fach = input(...)
# zahl = int(input(...))
# Hier den Steckbrief ausgeben:
# print(f"...")
# print(f"...")
# Berechnung mit der Lieblingszahl:
# doppelt = zahl * 2
# print(f"...")
Beispiel-Loesung (erst selbst versuchen!)
# steckbrief.py -- Mein Steckbrief-Generator
print("=== Steckbrief-Generator ===")
print()
# Eingaben
name = input("Dein Name: ")
fach = input("Dein Lieblingsfach: ")
zahl = int(input("Deine Lieblingszahl: "))
# Berechnungen
doppelt = zahl * 2
quadrat = zahl ** 2
# Steckbrief ausgeben
print()
print("+" + "-" * 30 + "+")
print(f"| Name: {name:<22} |")
print(f"| Fach: {fach:<22} |")
print(f"| Zahl: {zahl:<22} |")
print("+" + "-" * 30 + "+")
print()
print(f"Fun Facts ueber die Zahl {zahl}:")
print(f" Das Doppelte: {doppelt}")
print(f" Das Quadrat: {quadrat}")
print(f" Gerade? {'Ja' if zahl % 2 == 0 else 'Nein'}")
Beispielausgabe:
=== Steckbrief-Generator ===
Dein Name: Max
Dein Lieblingsfach: Informatik
Deine Lieblingszahl: 7
+------------------------------+
| Name: Max |
| Fach: Informatik |
| Zahl: 7 |
+------------------------------+
Fun Facts ueber die Zahl 7:
Das Doppelte: 14
Das Quadrat: 49
Gerade? Nein
Bonus: Weitere kleine Programme zum Ausprobieren
Taschenrechner
# mini_rechner.py
print("=== Mini-Taschenrechner ===")
zahl1 = float(input("Erste Zahl: "))
zahl2 = float(input("Zweite Zahl: "))
print(f"\n{zahl1} + {zahl2} = {zahl1 + zahl2}")
print(f"{zahl1} - {zahl2} = {zahl1 - zahl2}")
print(f"{zahl1} * {zahl2} = {zahl1 * zahl2}")
if zahl2 != 0:
print(f"{zahl1} / {zahl2} = {zahl1 / zahl2:.2f}")
else:
print("Division durch 0 ist nicht moeglich!")
Temperaturumrechner
# temperatur.py
print("=== Temperaturumrechner ===")
celsius = float(input("Temperatur in Celsius: "))
fahrenheit = (celsius * 9/5) + 32
kelvin = celsius + 273.15
print(f"\n{celsius} Grad Celsius entspricht:")
print(f" {fahrenheit:.1f} Grad Fahrenheit")
print(f" {kelvin:.1f} Kelvin")
Zusammenfassung
Du hast in diesem Kapitel gelernt:
- print() gibt Text und Werte auf dem Bildschirm aus
- input() liest Eingaben vom Benutzer ein (gibt immer einen String zurueck)
- f-Strings (
f"Hallo {name}") machen formatierte Ausgaben einfach - int() und float() wandeln Strings in Zahlen um
- Kommentare (
#und""") dokumentieren deinen Code - Fehlermeldungen sind deine Freunde — lies sie von unten nach oben!
Naechster Schritt: Im naechsten Kapitel lernst du die REPL kennen und den Unterschied zwischen interaktivem Modus und Skriptdateien.
Pro-Tipp: Wenn du einen Fehler bekommst, kopiere die letzte Zeile der Fehlermeldung und suche sie bei Google oder Stack Overflow. In 99% der Faelle hat jemand anderes das gleiche Problem schon geloest. So lernen alle Programmierer — auch die Profis!