Zum Inhalt springen
Python Anfänger 1 min

Dein erstes Python-Programm

Lerne print(), input() und Kommentare kennen und schreibe dein erstes interaktives Python-Programm. Programmieren lernen war noch nie so einfach!

Aktualisiert:

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 Ausgabe
  • input() fuer Benutzereingaben
  • int() fuer die Umwandlung von String zu Zahl
  • f-Strings fuer formatierte Ausgaben
  • "=" * 40 um einen String 40 Mal zu wiederholen
  • {tage_gelebt:,} fuer Tausender-Trennzeichen
  • if/elif/else fuer 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:

  1. Welche Datei das Problem hat (test.py)
  2. Welche Zeile betroffen ist (line 1)
  3. 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:

  1. Nach dem Namen fragt
  2. Nach dem Lieblingsfach fragt
  3. Nach der Lieblingszahl fragt (als Zahl einlesen!)
  4. Einen schoenen Steckbrief ausgibt
  5. 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!

Zurück zum Python Kurs