DU LERNST HIER... |
wie du mit Strings umgehst und wie du sie als Lauftext auf dem Display darstellen kannst. Du lernst auch, wie du Textinformationen im Terminal-Fenster (REPL/Console) ausschreiben kannst. |
STRINGS |
Wörter und Sätze sind aneinander gefügte Zeichen und werden als String bezeichnet. Zur Definition einer Stringvariablen verwendet man ein einfaches oder doppeltes Anführungszeichenpaar (Gänsefüsschen), also beispielsweise vorname = 'Maya' oder vorname = "Maya". Wir verwenden meist das doppelte Anführungszeichen. |
MUSTERBEISPIELE |
Im ersten Beispiel willst du den Namen "Maya" auf dem Display Buchstaben um Buchstaben ausschreiben. Du verwendest dazu insertBigChar(ch, textColor, bgColor), wobei textColor und bgColor auch weggelassen werden können. Beachte, dass du keine Umlaute und Accents verwenden darfst. Um auf einzelne Buchstaben des Strings zuzugreifen, verwendest du einen Stellenindex, der bei 0 beginnt. vorname[2] ist also der String, der nur den Buchstaben "y" enthält.
Eleganter durchläufst du den String mit einer verallgemeinerten for-Schleife:
Du kannst Strings mit dem +-Zeichen aneinander fügen. Definierst du beispielsweise den Familienname mit name = "Berger", so erhältst du mit anschrift = vorname + name den String "MayaBerger". Willst du zwischen Vorname und Namen noch eine Leerzeichen, so schreibst du anschrift = vorname + " " + name Das Aneinanderfügen von Strings nennt man auch Stringkonkatenation. Programm: from oxocard import * vorname = "Maya" name = "Berger" anschrift = vorname + " " + name for ch in anschrift: insertBigChar(ch) sleep(0.5) Lauftexte und Ausschreiben mit einem einfachen Font Statt einzelner Buchstaben kannst du auch den String als Lauftext (Scrolltext) ausschreiben, was besser lesbar ist. Programm: from oxocard import * vorname = "Maya" name = "Berger" anschrift = vorname + " " + name bigTextScroll(anschrift) Es gibt auch Zeichen aus einem kleineren Font, das sich aber nur zum Ausschreiben von einfachen Texten und Zahlen eignet, da es nicht alle Zeichen, insbesondere keine Kleinbuchstaben enthält. Programm: vorname = "MAYA" name = "BERGER" anschrift = vorname + " " + name smallTextScroll(anschrift) Für zweiziffrige Zahlen eignet sich das Ausschreiben mit display().
Rufst du display(n) mit einer negativen Zahl auf, so erscheint automatisch ein Vorzeichen unter der ersten Ziffer.
Du verwendest in diesem Beispiel auch eine allgemeinere Form des range() Befehls, bei dem du den Anfangswert, den Endwert und das Inkrement angibst (der Endwert ist nicht mehr enthalten).
Es ist oft zweckmässig, bestimmte Informationen zur Laufzeit auf dem Entwicklungssystem anzuzeigen Du verwendest dazu den print()-Befehl, der auch mehrere durch Kommas getrennte Parameter erlaubt. Nach jeder ausgeschriebenen Zeile wird automatisch ein Zeilenumbruch eingefügt. Programm: from oxocard import * from random import randint print("Programm startet. Ich wuerfle...") n = randint(1, 6) print("Wuerfelzahl:", n) print("Programm beendet") Beachte, dass du auch hier keine Umlaute und Accents verwenden kannst. |
MERKE DIR... |
Strings sind eine spezielle Datenstruktur zu Speicherung von Texten. Du definierst sie mit einfachen oder doppelten Anführungszeichen. Beachte, dass es einen grossen Unterschied zwischen a = "7" und m = 7 gibt. Das eine ist ein String und das andere eine Ganzzahl. Du kannst also sehr wohl n = m + 1 schreiben, aber b = a + 1 führt zu einer Fehlermeldung, da Strings und Zahlen nicht addiert werden können. Für die Umwandlung einer Zahl in einen String verwendest du s = str("123"), für die Umwandlung eines Strings in eine Zahl z = int("123") |
ZUM SELBST LÖSEN |
|