Python - Benutzerinput: Ein Anfänger-Leitfaden

Hallo daar, zukünftige Python-Zauberer! Heute werden wir in die magische Welt der Benutzerinput in Python eintauchen. Es ist wie eine Unterhaltung mit deinem Computer, und glaube mir, es ist nicht so schrecklich, wie es klingt! Also, greife zu deinem Zauberstab (Tastatur) und lass uns beginnen!

Python - User Input

Warum ist Benutzerinput wichtig?

Bevor wir hineingehen, sprechen wir darüber, warum Benutzerinput so wichtig ist. Stell dir vor, du erstellst ein Programm, das Leute begrüßt. Ohne Benutzerinput würde dein Programm nur "Hallo!" zu jedem sagen. Langweilig, oder? Aber mit Benutzerinput kann dein Programm nach einem Namen fragen und "Hallo, Sarah!" oder "Hallo, John!" sagen – viel persönlicher und spaßiger!

Benutzerinput in Python bereitstellen

In Python ist das Eingeben von Benutzerinput wie das Öffnen einer Tür, durch die sie in die Welt deines Programms treten. Es ermöglicht deinem Programm, interaktiv und dynamisch zu sein und auf das zu reagieren, was der Benutzer ihm sagt.

Der grundlegende Konzept

Stell dir Benutzerinput so vor: Du stellst eine Frage, und der Benutzer gibt dir eine Antwort. Python bietet Werkzeuge, um diese Fragen zu stellen und die Antworten zu speichern, damit du sie in deinem Programm verwenden kannst.

Python Benutzerinput-Funktionen

Python bietet mehrere Möglichkeiten, um Benutzerinput zu erhalten. Hier sind die wichtigsten:

Die Funktion input()

Die input()-Funktion ist dein erster Ansprechpartner, um Benutzerinput in Python 3 zu erhalten. Es ist wie ein freundlicher Roboter, der eine Frage stellt und geduldig auf die Antwort wartet.

So nutzt du sie:

name = input("Wie heißt du? ")
print("Hallo, " + name + "!")

In diesem Beispiel:

  1. input("Wie heißt du? ") zeigt die Frage an.
  2. Das Programm wartet darauf, dass der Benutzer seinen Namen eingibt und Enter drückt.
  3. Was auch immer der Benutzer eingibt, wird in der Variablen name gespeichert.
  4. Wir verwenden dann diese name in unserer Begrüßung.

Versuche, diesen Code auszuführen. Gib deinen Namen ein, wenn du dazu aufgefordert wirst, und beobachte die Magie!

Die Funktion raw_input()

Du könntest auf raw_input() stoßen, wenn du mit Python 2 arbeitest. Es ist der ältere Cousin von input(). In Python 3 macht input() das, was raw_input() in Python 2 gemacht hat.

Wenn du Python 3 verwendest (was wahrscheinlich der Fall ist), musst du dir keine Sorgen machen, raw_input(). Merke dir nur, dass wenn du es in älterem Code siehst, es die gleiche Aufgabe wie input() erfüllt.

Numerisches Input in Python

Hier wird es ein bisschen knifflig, aber keine Sorge – ich werde dich durchgehen!

Wenn du input() verwendest, behandelt Python immer, was der Benutzer eingibt, als Zeichenkette, auch wenn es eine Zahl ist. Aber manchmal brauchst du eine Zahl, um Mathe zu machen. So behandeln wir das:

age = input("Wie alt bist du? ")
age = int(age)
years_to_100 = 100 - age
print(f"Du wirst in {years_to_100} Jahren 100 Jahre alt!")

Lass uns das aufbrechen:

  1. Wir fragen nach dem Alter des Benutzers.
  2. Wir konvertieren das Input (eine Zeichenkette) in eine ganze Zahl mit int().
  3. Wir können jetzt Mathe mit dieser Zahl machen.
  4. Wir verwenden eine f-String, um das Ergebnis schön auszugeben.

Ein Wort der Vorsicht

Was passiert, wenn jemand "zwanzig" anstelle von "20" eingibt? Unser Programm würde abstürzen! Um dies zu verhindern, können wir Fehlerbehandlung verwenden:

try:
age = int(input("Wie alt bist du? "))
years_to_100 = 100 - age
print(f"Du wirst in {years_to_100} Jahren 100 Jahre alt!")
except ValueError:
print("Bitte gib eine Zahl ein, nicht Wörter!")

Dieser Code versucht, das Input in eine ganze Zahl zu konvertieren. Wenn er es nicht kann (wie wenn jemand "zwanzig" eingibt), gibt er eine freundliche Fehlermeldung aus, anstatt abstürzen zu lassen.

Die Funktion print(): Dein Output-Buddy

Wir haben viel über das Eingeben von Input gesprochen, aber was mit der Ausgabe? Da kommt print() ins Spiel!

print("Hallo, Welt!")
print("Ich lerne Python!")
print("Es ist", 2023, "und Python ist großartig!")

print() ist sehr flexibel. Du kannst Zeichenketten, Zahlen und sogar eine Mischung aus beiden ausgeben!

Deine Ausgabe formatieren

Willst du, dass deine Ausgabe schick aussieht? Probiere f-Strings:

name = "Alice"
age = 25
print(f"{name} ist {age} Jahre alt.")

Dies gibt aus: "Alice ist 25 Jahre alt." Schick, nicht wahr?

Alles zusammenführen

Lass uns ein einfaches Programm erstellen, das alles, was wir gelernt haben, verwendet:

name = input("Wie heißt du? ")
try:
age = int(input(f"Schön, dich kennenzulernen, {name}! Wie alt bist du? "))
birth_year = 2023 - age
print(f"Wunderbar, {name}! Wusstest du, dass du um {birth_year} geboren bist?")

favorite_number = int(input("Was ist deine Lieblingszahl? "))
result = favorite_number * age
print(f"Spaßfait: {favorite_number} multipliziert mit deinem Alter ist {result}!")
except ValueError:
print("Hoppla! Bitte gib eine Zahl für Alter und Lieblingszahl ein.")

Dieses Programm:

  1. Fragt nach dem Namen und dem Alter des Benutzers.
  2. Berechnet und zeigt ihr Geburtsjahr an.
  3. Fragt nach ihrer Lieblingszahl und führt eine Berechnung damit durch.
  4. Behandelt Fehler, wenn der Benutzer keine Zahlen eingibt, wenn erwartet.

Fazit

Herzlichen Glückwunsch! Du hast gerade die Grundlagen des Benutzerinputs in Python gelernt. Denke daran, Praxis macht den Meister. Versuche, deine eigenen Programme zu erstellen, die Fragen stellen und auf Benutzerinput reagieren. Je mehr du mit diesen Konzepten herumspielst, desto mehr wirst du dich daran wohlfühlen.

Hier ist eine schnelle Referenztabelle der Methoden, die wir behandelt haben:

Funktion Beschreibung Beispiel
input() Holt Benutzerinput als Zeichenkette name = input("Wie heißt du? ")
int() Konvertiert eine Zeichenkette in eine ganze Zahl age = int(input("Alter: "))
print() Gibt Text in die Konsole aus print("Hallo, Welt!")

Fange an zu coden, experimentiere und vor allem habe Spaß! Python ist eine erstaunliche Sprache, und du bist gerade am Anfang einer aufregenden Reise. Frohes Coden!

Credits: Image by storyset