×
produktlogotitle

Seite: bbb_strings
Diese Seite wurde aktualisiert am 03.08.2021

LOGIN
Benutzer:
Passwort:
 
   if1.net-schulbuch.de

 

Was sind Texte? 

Computer können natürlich nicht nur mit Zahlen umgehen, wie der Begriff Computer  zunächst den Anschein erweckt.

 Denn du kannst natürlich mit deinem Computer

  • Texte lesen und schreiben
  • Bilder bearbeiten
  • Videos abspielen
  • Musik hören
  • Spielen

Dahinter stecken natürlich Computer-Programme, geschrieben z.B. in Python oder in einer von vielen anderen Programmiersprachen.

 

Was verstehen wir in Python unter einem Text?

Ein Text, in der Informatik String genannt, in Python der Datentyp str, bezeichnet eine Folge von Zeichen, die in zwei Hochkommata " oder ` eingeschlossen sind.

Erlaubte Zeichen sind Groß- und Kleinbiuchstaben, Ziffern, Satzzeichen und viele Sonderzeichen wie z.B. Klammern oder der Unterstrich.

Die Anzahl der Zeichen in einem String kann beliebig groß sein. Es gibt aber auch einen String, der kein(!) Zeichen enthält (s.u.)

 

Beispiele:

  • "Hallo Python"
  • "eins_zwei_drei"
  • "123"
    • Dieser String sieht zwar so aus wie die Zahl 123, doch es ist ein Text, bestehend aus den drei Zeichen 1, 2 und 3. Man kann also mit diesem Text im Sinne der Mathematik nicht rechnen.
  • ""
    • Dies ist der leere String, also der Text, der kein Zeichen enthält. Wir werden später erfahren, wo dieser String sinnvoll zu nutzen ist.
  • "§$%&/()"

Mit Hilfe der Zuweisung = kann man einen String - analog zu Zahlen - in einer Variablen aufbewahren, wie z.B.:

meinName = "Erna"

Den Wert einer solchen Variablen kann man anzeigen lassen:

print(meinName)

 

Aufgabe

Nebenstehend findest du ein Python-Programm, in dem ein String benutzt wird.

 

  1. Kopiere das Programm in deine Python-Umgebung.
  2. Starte das Programm.
  3. Beschreibe die Wirkung der Python-Anweisung input.

Die Python-Anweisung print hat in dem Programm zwei sogenannte Parameter, also zwei durch ein Komma getrennte Angaben.

  1. Beschreibe die Wirkung.
  2. Probiere aus, ob man auch mehr als zwei Parameter angeben kann. Insbesondere soll die Ausgabe mit einem "!" enden.
meinName = input("Wie heisst du?")
print("Hallo", meinName)

 

Länge und Indizierung von Texten

Die Anzahl der Zeichen, aus denen ein String besteht, kann mit der Python-Anweisung

len()

bestimmt werden. Also liefert die Anweisung len("Hallo!") den Wert 6. 

Jedes Zeichen in einem String steht an einer festgelegten Position, Index genannt.

Die Numerierung beginnt bei 0, so dass das Zeichen am Anfang der Zeichenkette den Index 0 hat. Der Index des letzten Zeichens ist dann um 1 kleiner als die Länge des Strings.

Am Beispiel des Strings "Hallo!":

Zeichen H a l l o !
Index 0 1 2 3 4 5

 

Index-Zugriff

Mit Hilfe der Indizierung kann man auf die einzelnen Zeichen eines Strings zugreifen. Das geschieht, indem man den Index in eckige Klammern [ und ] setzt und diese Struktur an den String bzw. die String-Variable anhängt.

Z.B. liefert die folgende Anweisungsfolge das 5-te Zeichen des Textes, also das Zeichen o

text = "Hallo Paul"
text[4]

Das 5-te Zeichen hat den Index 4

Das Zeichen, das durch diese Indizierung geliefert wird, ist ebenfalls ein String. Dieser String besteht (natürlich) aus genau einem Zeichen, so dass er die Länge 1 hat.

Was passiert, wenn man in dem obigen String das 10-te Zeichen, also mittels text[9], erfragt? Probiere dies in deiner Python-Umgebung aus.

 

Aufgabe
  1. Welche Ausgabe hat das nebenstehende Python-Programm?

Versuche, diese Frage zu beantworten, ohne das Programm in deiner Python-Umgebung zu starten!

  1. Ändere das Programm so ab, dass das letzte Zeichen eines vom Benutzer eingegebenen Textes ausgegeben wird.
zeile = "Hallo Python!"
laenge = len(zeile)
m = laenge // 2
print(zeile [m])

Die Anweisung

print(zeile[laenge-1])

erzeugt diese Ausgabe.

Manchmal ist es sinnvoll, den Index (also die Stelle der Zeichen in dem Text) ausgehend vom letzten Zeichen sozusagen von rechts nach links zu zählen. Dazu benutzut man negative Indizes:

 

Zeichen H a l l o !
Index -6 -5 -4 -3 -2 -1

Z.B. liefert die folgende Anweisungsfolge das Zeichen o

text = "Hallo Paul"
text [-6]

Der Text hat eine Länge von 10; beachte das Leerzeichen in der Mitte!

Die Indizierung erlaubt es, auch auf mehr als ein Zeichen des Strings zuzugreifen. Dazu gibt man zwischen den eckigen Klammern zwei Werte an, getrennt durch : 

Dann liefert der Aufruf meinText[a:b] denjenigen Teiltext, der bei dem Zeichen am Index a beginnt und vor dem Zeichen mit dem Index b endet. Der Teiltext besteht also immer aus b-a Zeichen.

Z.B. liefert die folgende Anweisungsfolge den Text "all" mit 3 Zeichen:

text = "Hallo Paul"
text [1:4]

 

Aufgabe

Schreibe ein Python-Programm, das nach Eingabe eines Textes den inneren Teil des Textes ausgibt.

Dabei soll hier vereinbart werden, dass der innere Teil eines Textes aus allen Zeichen des Textes bis auf das erste und letzte Zeichen besteht, so dass zu B. bei der Eingabe von Hallo Python! der Text allo Python ausgegeben wird.

 

Mit Texten kann man rechnen

Interessanterweise kann man in Zusammenhang mit Strings die Rechenoperatoren  + und * anwenden. Was dabei passiert, zeigen das folgende Bild:

 

 

Die String-Addition fügt also die Teilstrings (ohne Leerzeichen!) aneinander; die String-Multiplikation vervielfacht den angegebenen String.

 

Wie beim Rechnen mit Zahlen gelten auch hier die Vorrangregeln (Punkt- vor Strichrechnung) sowie die Klammerregel:

 

 

Aufgabe

Welche Ausgaben werden durch die folgenden Python-Anweisungen erzeugt? Versuche, die Antworten zunächst vorherzusagen, und teste es dann in deiner Python-Umgebung:

  1. print(3 * "7")
  2. print("3" * 7)
  3. print("3" * "7")
  4. print("3" + "7")
  5. print(3 + "7")
  6. print(0 * "Hallo")

 

 

 

 

Impressum
© 2023  Net-Schulbuch.de
10.00  0.2998  8.1.28