help@school Informatik

Python

Python

Python ist eine universelle Programmiersprache, die 1991 das erste mal erschienen ist und von der gemeinnützigen Python Software Foundation gestützt wird.

Inhalt:

  • Rechnen
  • Variablen
  • Module
  • Turtle
  • Problemzerlegung
  • Berechnungen
  • Wörterbücher
  • Zufallszahlen
  • Eingabe (Tastatur)
  • Zahlenraten (Spiel)
  • Mauseingaben

 

Rechnen:

  • Grundrechenarten: +-*/
  • Punkt vor Strich
  • Kommazahlen: in Phyton mit Punkt geschrieben
  • Division liefert Kommazahl

Befehl: „print(x * y)“

Beispiel:

print (5*3/2+5)

Wenn man das Programm nun ausführt, wird das Ergebnis angezeigt. Allerdings ist es sehr aufwenig bei einer Rechnung jeden Zahlenwert einzeln zu ändern, denn das wird schnell unübersichtlich. Deshalb gibt es Variablen.

 Variablen:

  • Namen muss man einführen
    • Zuweisung: Variable = Wert
      • x= 5
    • Gelesen als „ergibt sich aus“

Bei Verwendung eines Namens, den es noch nicht gibt wird dir von der Konsole NameError angezeigt.

Beispiel:

Milch = 4500

Kuehe= 19

Print(Milch * Kuehe)

 

Variablen können sich ändern

    • Phyton führt Programm Schritt für Schritt aus
    • Zuweisung: erst wird die rechte Seite ausgerechnet, dann der Wert in der Variable gespeichert
      • x= x + 1

 

Beispiel:

Milch = 4500

Kuehe= 19

Milch = 4600         <– Phyton benutzt hier die zweite Variable und ignoriert die erste

Print(Milch * Kuehe)

 

Mit „%“ kann man übrigens bei Phyton den Rest ermitteln, der bei einer Division durch eine andere Zahl entsteht

 

Module:

Module sind Bibliotheken, die von Phyton bereitgestellt werden und die man einfach mit einen Befehl importieren kann um Pythons Funktionen zu erweitern.

  • Bibliothek hat Namen, Funktionen in Bibliothek auch
    • From math import sqrt       <– berechnet die Quadratqurzel
    • Print (sqrt(25))

 

Beispiel:

From math import sqrt

Wert = 6

Quadrat = wert * wert

Print (quadrat)

Wurzel= sqrt (quadrat)

Print (Wurzel)

 

Strings:

Strings ist eine Speichereinheit für Text im Computer:

  • Wichtigster Datentyp
    • Informationen sind meist in Textform
  • In Phyton in Anführungszeichen geschrieben
    • Print(„Monty“)

 

Beispiel:

Print („Hello World“)

Bei Ausführung, zeigt dir das Programm nun Hello World an.

 

  • Zeichenketten (engl. Strings): Folgen von Buchstaben
    • Einfache (‚) oder („) Anführungszeichen
      • Text muss in der selben Zeile enden
      • Mit drei Anführungszeichen („‚ oder „““) am Anfang und am Ende können Strings auch über mehrer Zeilen gehen

 

Mit Strings kann man übrigens auch rechnen:

  • Speicherung von Strings in Variablen
    • Teil1 = „Monty“
  • Verkettung: +
    • Teil2= „Phyton“
    • Nachricht = monty + “ “ + phyton
  • Wiederholung: *
    • Nachricht10 = 10* Nachricht

Bespiel:

text1 = „Monty“

text2 = „Phyton“

Print (text1+ “ „+text2)

Oder

text1 = „Monty“

text2 = „Phyton“

Nachricht = (text1+ “ „+text2)

Print (Nachricht)

Oder

text1 = „Monty“

text2 = „Phyton“

Nachricht = (text1+ “ „+text2)

Print (Nachricht)

Zweite_Nachricht = 4* nachricht   <– Es wird viermal Monty Phyton ausgegeben

Noch ein Beispiel:

nr_des_Videos = 3

nachricht = „Dies ist das {}. Video“

print (Nachricht.format (nr_des_Videos))

 

Turtle:

Programmiersprache: LOGO

 

  • from turtle import* (um auf das Modul zuzugreifen)
  • Funktionen forward(Schritte), left(Winkel), right(Winkel), goto(x,y), penup(), pendown()
    • Schritte: Bildschirmpunkte
      • Schildkröte steht am Anfang in der Mitte (0,0)
      • x und y Koordinaten von -200 bis 200
      • winkel in Grad (0 bis 360)
  • Man kann auch die Form der Schildkröte festlegen
    • shape(‚turtle‘)
      • alternativ: classic, arrow, triangle, circle, bank

 

Beispiel:

from turtle import *

forward(100) <– Erste Seite des Rechtecks

right(90)  <— Schildkröte dreht sich um 90°

forward(100)

 

 Probleme zerlegen:

Es lohnt sich größere Aufgaben, in kleiner zu zerlegen und mit einer Funktion zu vermehren. In diesen Beispiel wollen wir einen Wald aus Weihnachtsbäumen zeichen (mit Turtle).

 

Erstmal zeichnen wir einen Baum:

 From turtle import*

def Weihnachtsbaum

Setheading (90)

Forward (90)

Left (90)

….

 

Weihnachtsbaum ()

Up ()

Goto (0,100)

Down ()

Weihnachtsbaum ()

Up ()

Goto (100,0)

Down ()

Weihnachtsbaum ()

 

Man kann den Funktionen auch Parameter geben:

def Weihnachtsbaum (x,y)

Setheading (90)

Forward (90)

Left (90)

….

 

Weihnachtsbaum (-100,0)

Weihnachtsbaum (0,0)

Weihnachtsbaum (100,0)

Oder wir erstellen eine Schleife, die uns drei Bäume an die Koordinaten in der Klammer zeichnet.

 For i in range (-150, 150, 50):

Weihnachtsbaum (-100,0)

Weihnachtsbaum (0,0)

Weihnachtsbaum (100,0 )

 

Berechnungen:

  • Textaufgaben: Am Ende muss ein Ergebnis herauskommen
  • Funktionesergebnis in Phyton: return
  • Beispiel: multipliziere 2 Zahlen A und B
  • Def multipliziere(A,B):

Ergebnis = A*B

Return Ergebnis

Also:

Def multipliziere(A,B):

Ergebnis = A+B

Return Ergebnis

 Print (Multipliziere(1234, 4321))

Oder:

Produkt = multipliziere (1234, 4321)

 

Aufgabe: Schreibe eine Funktion, die aus einer Liste mit Wörtern die ermittelt, die mit a anfangen. Liefere das Ergebnis wieder als Liste von Wörtern

  • Teilaufgabe: Wie ermittelt man den Anfangsbuchstaben eines Wortes?
    • Wort ‚alle‘
    • Wort[0] == ‚a‘

Also:

 Wort = ‚alle‘

If Wort[0] == ‚a‘:

print(„Das Wort beginnt mit a“)

Else:

print(„Das Wort beginnt nicht mit a“)

Wörterbücher:

  • Zuordnung von Suchbegriffen (Schlüsseln, engl. key) zu Werten (engl. value)

 

  • wörter = {‚Buch‘:’book‘, ‚Kind‘:’child‘,’Lehrer‘:’teacher‘}

 

  • Abfragen eines Wörterbuchs:

 

  • wörter[suchbegriff]

Also:

Wörter= {‚Buch‘:’book‘, ‚Kind‘:’child‘,’Lehrer‘:’teacher‘}

 Print (wörter [‚kind‘])

 

Aufgabe: Speichere die Namen der Hauptstädte aller Bundesländer in einem Dictionary

 

  • hauptstädte = {‚Brandenburg‘:’Potsdam‘,’Sachsen‘:’Dresden‘, ‚Bayern‘:’München‘}
  • und so weiter…

Also:

Hauptstädte = {‚ Brandenburg‘ : ‚Potsdam‘,

‚ Sachsen‘ : ‚Dresden‘,

‚ Bayern‘ :‘ München‘ }

Print (hauptstädte[‚Bayern‘])

 

Dictionary-Operationen

  • len(dictionary): Zahl der Elemente
  • dictionary.keys(): Schlüssel im Dictionary
  • dictionary.values(): Werte im Dictionary
  • dictionary.items(): Paare (Schlüssel, Wert)
  • Ändern von Dictionaries durch Zuweisung des Werts:
  • dictionary[schlüssel] = neuer_Wert

Beispiel:

 Hauptstädte = {‚Brandenburg‘ : ‚Potsdam‘,

               ‚Hessen‘ : ‚Wiesbaden‘,

               ‚Saarland‘ : ‚Saarbrücken‘,

               ‚Rheinland-Pfalz‘ : ‚Mainz‘,

               ‚Bayern‘ : ‚München‘,

               ‚Niedersachsen‘ : ‚Hannover‘,

               ‚Baden-Württemberg‘ : ‚Stuttgart‘,

               ‚Sachsen‘ : ‚Dresden‘,

               ‚Sachsen-Anhalt‘ : ‚Magdeburg‘,

               ‚Mecklenburg-Vorpommern‘ : ‚Schwerin‘,

               ‚Thüringen‘ : ‚Erfurt‘,

               ‚Berlin‘ : ‚Berlin‘,

               ‚Hamburg‘ : ‚Hamburg‘,

               ‚Bremen‘ : ‚Bremen‘,

               ‚Schleswig-Holstein‘ : ‚Kiel‘,

               ‚Nordrhein-Westfalen‘ : ‚Düsseldorf‘}

 

hauptstädte [‚Berlin‘] = ‚Berlin‘          

 

For schlüssel, wert in hauptstädte.items()

Print (Schlüssel, ‚:‘, wert)

 

Zufallszahlen:

Python kann auch zufällige Zahlen auswerten.

  • Programmiertrick, um den Computer „spontan“ reagieren zu lassen
  • Computerspiele: „zufällige“ Züge des Computers
  • z.B. für Schwierigkeitsstufen
  • Computerprognosen (z.B. Wettervorhersage

 

Python-Modul random

  • from random import random, randint
  • random: Zufallszahl zwischen 0 und 1

(Kommazahl)

  • randint(kleinster, größter): Zufallszahl zwischen kleinstem und größtem Wert (nur ganze Zahlen)

Beispiel:

From random import random, randint

 

Print(randint(100,0))           //: Zahlen im Wertebereich zwischen 100 und 0

Print(randint(100,0))

Print(randint(100,0))

Print(randint(100,0))

 

Würfeln:

  • random(1,6)
  • Aufgabe: Schreibe eine Funktion zähle(wurf), die einen Wurf in einem Dictionary zählt
  • am Ende soll man sagen können, wie oft jede Zahl gewürfelt wurde
  • Aufgabe: Schreibe eine Funktion würfeln(anzahl), die viele Zahlen würfelt und sie zählt

Beispiel:

Zähler = {}

 Def zähle(ding):

If ding in zähler:

Zähler[ding] = zähler[ding] +1

Else:

Zähler[ding] = 1

 

Zähle(’schaf‘)

Zähle(’schaf‘)

Zähle(‚Wolf‘)

Zähle(’schaf‘)

Zähle(’schaf‘)

Print(zähler)

 

Man kann auch übrigens auch Zahlen zählen:

 

Zähle(1)

Zähle(4)

Zähle(3)

Zähle(1)

Zähle(6)

Print(zähler)

 

Jetzt mit den Würfel:

 

From random import randint

Zähler = {}

 Def zähle(ding):

If ding in zähler:

Zähler[ding] = zähler[ding] +1

Else:

Zähler[ding] = 1

Def würfeln(wie_oft):

For nummer in range(wie_oft):

Wurf = randit(1,6)

Zähle(wurf)

 

Würfeln(600)

Print(zähler)

 

Eingabe:

Wenn du ein sinnvolles Programm schreiben willst, kommst du auf Dauer nicht um Eingaben herum. Ohne Eingaben, müsste der Anwender nämlich alle Zahlen im Code anpassen. Dies wäre aber ziemlich umständlich und außerdem verstehen viele davon nichts. Aber wie geht denn jetzt eine Eingabe?

Fangen wir mit der Tastatureingabe an:

• Funktion input

• input(„Aufforderung“)

• Funktionsergebnis: eingegebener Text

Das geht natürlich auch mit Zahlen:

• Erster Schritt: Eingabe von Text

• Zweiter Schritt: Umwandlung in Zahl

• Funktion int: Umwandlung in ganze Zahl

• Funktion float: Umwandlung in Kommazahl

 

Fehlerbehandlung:

• Python-Befehle try und except

• try:

Programmtext, der vielleicht Fehler produziert wird ausprobiert und falls es einen Error gibt, wird except ausgeführt.

except Fehlerart:

Reaktion auf den Fehler

Zahlenraten:

Programmieren wir nun ein Spiel:

Zahlenraten. Der Computer denkt sich eine zufällige Zahl aus und du solltst sie erraten. Der Computer sagt dir dann, ob Deine Zahl

zu groß, zu klein, oder sogar richtig ist.

 

Zuerst lassen wir den Computer eine Zahl ausdenken: randint(1,20)

• Eingabe: input

• Umwandeln in Zahl: int

• Vergleich: <, >, ==

• continue: Wiederhole die Schleife sofort

Beispiel:

from random import randint

geraten = False

meine_zahl = randint(1,20)

while not geraten:

try:

zahl = int(input(„Gib eine Zahl bis 20 ein“))

except ValueError:

print(„Keine gültige Zahl“)

continue

if zahl > meine_zahl:

print(„Zu groß“)

elif zahl < meine_zahl:

print(„Zu klein“)

else:

geraten = True

print(„Herzlichen Glückwunsch“)

 

Mauseingaben:

Natürlich sind Eingaben auch mit der Maus möglich.

• Bewegung des Mauszeigers auf Zeichenfläche:

• x- und y-Koordinate

• Mausklicks:

• Drücken der Maustaste (links oder rechts)

• evtl. Bewegen der Maus (Drag)

• Loslassen der Maustaste

• weitere Funktionen:

• dritte Maustaste

• Rollrad

 

Aufgabe:

Wir schreiben ein (einfaches) Malprogramm mit Mausklicks. Die Funktion, die wir brauchen, heisst onclick

Die Konsole erwartet deine eine Funktion, die aufgerufen werden soll, wenn die Maus geklickt wird (linke Maustaste).

 

Also brauchen wir Funktionen, die Funktionen

als Parameter bekommen:

• def ausgabe(n):

print(„Ergebnis“, n)

• def mach_mal_bitte(funktion):

funktion(5)

• mach_mal_bitte(ausgabe

 

onclick

• onclick hat einen Parameter: Funktion, die bei

Mausklick gerufen werden soll

• Funktion, die gerufen werden soll, hat zwei

Parameter: (x, y)

• def ausgabe(x,y):

print(„Geklickt auf“, x, y)

• onclick(ausgabe)

 

 

 

Geschrieben am 27. Februar 2015 für die Autor: Renan D.

Noch keine Kommentare

Klassen InformationDatenschutzImpressum