Kurs:Python/LG/Kurs 2010

(Weitergeleitet von Benutzer:Kurs 2010)

Schulungsunterlagen und Rückfragen

Bearbeiten

Hier wird mit der Einführung

in deutscher Übersetzung gearbeitet. Für Fragen gibt es ein zentrales

Zum Einsatz kommt noch Python 2.6.


Brauchbare Programmieraufgaben:

Hier ist Platz für Notizen

Kapitel 12: Klassen und Objekte

Bearbeiten

Kapitel 12

Inhalt:

  • 12.1 Benutzerdefinierte zusammengesetzte Datentypen
  • 12.2 Attribute
  • 12.3 Instanzen als Parameter
  • 12.4 Gleichheit
  • 12.5 Rechtecke
  • 12.6 Instanzen und Rückgabewerte
  • 12.7 Objekte sind veränderbar
  • 12.8 Kopieren

Kapitel 11: Dateien und Ausnahmen

Bearbeiten

Kapitel 11

Lesezeichen: 11.2 Werte von Variablen schreiben

Erster Eindruck: Das Kapitel sieht richtig, richtig gut aus...

Wichtige Informationen:

Siehe auch: w:Eingabe und Ausgabe

Inhalt:

  • Dateien und Ausnahmen
    • Textdateien
    • Werte von Variablen schreiben
    • Verzeichnisse
    • Picklen
    • Ausnahmen
    • Glossar

Kapitel 10: Der Datentyp Dictionary

Bearbeiten

Kapitel 10

Wichtige Informationen: Einiges... Unter anderem die Methode sort für Listen...

Erkenntnisgewinn: Man kann die Ergebnisse einer Berechnung auch als Wert in einem Dictionary speichern, um so die Berechnungszeit zu verkürzen...

Siehe auch: w:Assoziatives Array

Kapitel 9: Tupel

Bearbeiten

Lesezeichen: Kapitel 9 (Vor allem für den zweiten Teil des Kapitels konnte ich keine sinnvolle Anwendung erkennen...)

Kapitel 9

Wichtige Informationen: Runde Klammern. Der Abschnitt Tupel als Rückgabewerte ist mir nicht ganz klar. Die swap-Funktion scheint gar nichts zu bewirken... Bei der Arbeit mit random import random nicht vergessen.

Programmentwicklung: pattern matching (= Verwenden passender Muster!)

Siehe auch: w:Tupel (Informatik)

Kapitel 8: Listen

Bearbeiten

Kapitel 8

Wichtige Informationen: Liste, geschachtelte Liste, print range (1, 5) ergibt [1, 2, 3, 4], range(10) (=> 0 bis 9), range (1, 11, 2) ergibt „[1, 3, 5, 7, 9]“, Listen können auch an eine Variable übergeben werden, Zugriff auf die Listenelemente (Zugriff wie bei einem String mit:

Es lassen sich schöne Sachen machen:

datensatz = "NAME, VORNAME, ANSCHRIFT, PLZ, ORT"

print "Datensatz:",  datensatz

liste = datensatz.split (", ")

print "Liste:", liste 

datensatz = ", ".join (liste)

print "Datensatz:",  datensatz
Listenname [Index des Listenelements beginnend mit 0]

Durchlauf durch eine Liste:

horsemen = ["war", "famine", "pestilence", "death"]

i = 0
while i < len(horsemen):
  print horsemen[i]
  i = i + 1

Notizenseite

Kapitel 7: Strings

Bearbeiten

Lesezeichen: 7.4 String - Abschnitte

Kapitel 7

int, float und string (zusammengesetzt: character)

prefixes = "JKLMNOPQ"
suffix = "ack"

for letter in prefixes:
    if letter == "O" or letter == "Q":
        print letter + "u" + suffix
    else:
        print letter + suffix

Wichtige Inhalte: Bei s = "Wort" ist s[3:4], s[3:], s[:4], s[:] (ganzen String ausgeben) möglich, string-Modul

Unklar: Nutzungsmöglichkeiten...

Kapitel 6: Iteration

Bearbeiten

Kapitel 6

Wichtige Begriffe: Endlosschleife, Tabulator (, '\t', ), das newline-Zeichen ('\n'), Tabellen, Ausgabe optimieren, ..., kapseln und zu verallgemeinern, Entwicklungs-Methode (Code funktioniert --> Code in eine Funktion packen, d. h. Kapselung), lokale Variablen („Variablen, die innerhalb einer Funktionsdefinition erzeugt werden sind“) lokal, i und j bei Schleifen verwenden

def printMultiples(n, high):
  i = 1
  while i <= high:
    print n*i, '\t',
    i = i + 1
  print

def printMultTable(high):
  i = 1
  while i <= high:
    printMultiples(i, i)
    i = i + 1

printMultTable(10) ergibt:

printMultTable(10)
1 	
2 	4 	
3 	6 	9 	
4 	8 	12 	16 	
5 	10 	15 	20 	25 	
6 	12 	18 	24 	30 	36 	
7 	14 	21 	28 	35 	42 	49 	
8 	16 	24 	32 	40 	48 	56 	64 	
9 	18 	27 	36 	45 	54 	63 	72 	81 	
10 	20 	30 	40 	50 	60 	70 	80 	90 	100

Die Aufgabe wäre hier die Funktionsweise des Programms zu verstehen...


Vorteile von Funktionen
  • Funktionen erleichtern die Lesbarkeit des Codes, die Verstehbarkeit und die Fehlersuche wird vereinfacht
  • Ist ein Programm in einzelne Funktionen zerlegt, können sie isoliert debuggt und dann wieder zusammengesetzt werden
  • Funktionen erleichtern die Nutzung von Rekursion und Iteration
  • Gute Funktionen können wiederverwendet werden



Kapitel 5: Funktionen mit Wert

Bearbeiten

Lesezeichen: 5.4 Boolesche Funktionen (!)

Kapitel 5

Wichtige Begriffe: schrittweise Programmentwicklung (hinzufügen und testen), beim Testen sollten wir die richtige Antwort kennen ;-), „schreiben, testen und debuggen“, Turing-These (Mit wenigen Befehlen kann man jedes Programm schreiben), rekursive Definition => Python-Programm, Typ-Überprüfung (Wächter!)

Boolesche Funktionen
def isBetween(x, y, z):
    
  return y < x < z

x = input ("Eingabe 1: ")
y = input ("Eingabe 2: ")
z = input ("Eingabe 3: ")

if isBetween(x, y, z):
  print "X ist zwischen y und z."
else:
  print "X ist nicht zwischen y und z."


Grundregeln des schrittweisen Programmierens
  1. Starte mit einem arbeitenden Programm und füge immer nur wenige Code-Zeilen hinzu
  2. Hilfsvariable sind sinnvoll um Zwischenergebnisse zu speichern (ausgeben und prüfen!)
  3. Läuft das Programm kann Gerüst-Code entfernt und Code kompakter geschrieben werden. Hierunter sollte die Lesbarkeit nicht leiden



Kapitel 4: Verzweigung und Rekursion

Bearbeiten

Kapitel 4


Spielereien

Bearbeiten

Folgendes Programm soll die Quersumme einer Zahl bilden.

def quersumme (n):
        qs = 0

        while n > 0:
            qs = qs + (n % 10)
            n   = n / 10
      
        return qs

# Hauptprogramm

# Eingabe

n = input ("Bitte geben Sie eine Ganzzahl groesser 0 ein: ")

# Verarbeitung und Ausgabe

if n < 1 or 0 < (n * 10 % 10):
    print "Die von Ihnen eingegebene Zahl ist keine natuerliche Zahl!"
else:
    print "Die Quersumme von ",  n,  " ist ",  quersumme(n) ,  "."
Versionsgeschichte, Entwicklung, Dokumentation

[...]

Eingabe
  • raw_input - Strings
  • input - Ganzzahlen

Kapitel 3: Funktionen

Bearbeiten

Kapitel 3

Kapitel 2: Variablen, Ausdrücke und Anweisungen

Bearbeiten

Kapitel 2

print "Kapitel zwo"
Notizen
  • Zustandsdiagramm bei Variablen
  • Groß-/Kleinschreibung spielt bei Variablen eine Rolle
  • Es gibt keywords, sogenannte reservierte Schlüsselwörter

Python hat - nur - 29 Schlüsselwörter

and del for is raise
assert elif from lambda return
break else global not try
class except if or while
continue exec import pass yield
def finally in print

Potenzieren: 5 ** 2

Kommentare

percentage = (minute * 100) / 60     # Vorsicht: Ganzzahl-Division

Kapitel 1: Über das Programmieren

Bearbeiten

Kapitel 1

print "Hello, World!"