Sonntag, 6. März 2011
Übungsbeispiele zu Sequenzen, Schleifen und Funktionen in Python (POS1: 1B)
Hier finden Sie eine Reihe von Aufgabenstellungen als Übung zur nächsten praktischen Arbeit.
Gegeben sind minimale Funktionsrümpfe mit der Aufgabenstellung als DocString.
Die Funktionen sind ohne Standardmethoden bzw. Funktionen zu implementieren (ausgenommen die Funktion
Schreiben Sie zu den Funktionen jeweils passende Testprogramme.
Gegeben sind minimale Funktionsrümpfe mit der Aufgabenstellung als DocString.
Die Funktionen sind ohne Standardmethoden bzw. Funktionen zu implementieren (ausgenommen die Funktion
len()
). Sollte es eine Standardfunktion zur Lösung der Aufgabe geben, verwenden Sie diese, um das Ergebnis zu prüfen. Bereiche ([von:bis]
) dürfen verwendet werden, sofern sie benötigt werden.def isint(string) """prüft, ob der String eine ganze Zahl ist (Vorzeichen optional, nur Ziffern)""" pass
def isintb(string, basis) """prüft, ob der String eine ganze Zahl zur Basis basis ist (Vorzeichen optional, nur Ziffern)""" pass
def isnum(string) """prüft, ob der String eine Zahl ist (Vorzeichen optional, Ziffern und Komma)""" pass
def horner(zahl, basis): """berechnet Dezimalzahl aus zahl (String) zur Basis basis. liefert Zahl.""" pass
def sumdigits(zahl): """Berechnet die Ziffernsumme aus der gegebenen Zahl (int)""" pass
def sumdigits_s(string): """Berechnet die Ziffernsumme aus der gegebenen Zahl (str), wenn es überhaupt eine Zahl ist. Liefert -1, wenn keine gültige Zahl""" pass
def isipv4(string): """Prüft, ob der gegebene String eine IPv4-Adresse enthält. IPv4-Adressen sind 4 Zahlen zwischen 0 und 255, die durch einen Punkt getrennt sind. Beispiele: 127.0.0.1, 193.170.149.129, 81.200.64.185 Ungültige: 81.2010.64.185, 123.23.12, 127,0,0,1""" pass
def anz_vokale(string): """Zähle die Selbstlaute im String und liefere Anzahl zurück""" pass
def anz_zahlen(string): """ermittelt die Anzahl der ganzen Zahlen im String. Eine Zahl ist eine ununterbrochene Folge von Ziffern. Beispiel: anz_zahlen("x 34 3 12k33 44 hallo 23") liefert 6""" pass
def sum_zahlen(string): """ermittelt die Summe der ganzen Zahlen im String. Eine Zahl ist eine ununterbrochene Folge von Ziffern. Beispiel: anz_zahlen("x 34 3 12k33 44 hallo 23") liefert 149""" pass
def iskonto(string): """Prüft, ob der String eine gültige Kontonummer enthält. Dabei gelten folgende Regeln: 1. genau 9 Ziffern (es dürfen Leerzeichen dazwischen sein 2. die letzte Ziffer ist eine Prüfziffer und es gilt Die Kontonummer ist genau 9 Stellen lang und ist dann richtig, wenn die folgendermaßen gebildete Summe auf Null endet: Ziffern mit ungeradem Index werden addiert(=Teilsumme1); Ziffern mit geradem Index werden verdoppelt und das jeweilige Produkt addiert, wenn es einstellig ist, andernfalls wird die Quersumme des Produkts addiert(=Teilsumme2); Summe= teilsumme1 + Teilsumme2 Beispiel: 123456782 1+ 3+ 5+ 7+ 2 = 18 Teilsumme1 2*2+ 4*2+ (1+2)+ (1+6) = 22 Teilsumme2 6*2=12 8*2=16 ------ 40 Summe mod 10= Null Beispiele für Kontonummern: 697199107 richtige Kontonummer 723016699 falsche Kontonummer """ pass
def reverse_s(string): """liefert String in umgekehrter Reihenfolge zurück""" pass
def toupper(string): """liefert String in Großbuchstaben zurück""" pass
def tolower(string): """liefert String in Kleinbuchstaben zurück""" pass
def isupper(string): """prüft, ob String nur Großbuchstaben enthält""" pass
def islower(string): """prüft, ob String nur Kleinbuchstaben enthält""" pass
def ispalindrom(string): """Prüft, ob der String ein Palindrom ist (von vorne und hinten gelesen gleich).""" pass
def ispalindrom_l(liste): """Prüft, ob die Liste von vorne und hinten gelesen gleich ist.""" pass
def reverse_l(liste): """liefert die Liste in umgekehrter Reihenfolge zurück""" pass
def sum(liste): """liefert die Summe aller Zahlen in der Liste""" pass
def mittelwert(liste): """liefert den Mittelwert (Durchschnitt) aller Zahlen in der Liste""" pass
def rmdups(liste): """(ReMove DUPlicates) liefert Liste, aus der alle Vielfachen entfernt (hintereinander). Beispiele: [1, 2, 2, 2, 5, 2, 3, 2, 2, 23] -> [1, 2, 5, 2, 3, 2, 23] [99, 99, 23, 99, 99, 12, 2] -> [99, 23, 99, 12, 2] [] -> [] [1, 2, 4, 10] -> [1, 2, 4, 10]""" pass
def rmalldups(liste): """(ReMove ALL DUPlicates) liefert Liste, aus der alle Vielfachen entfernt (müssen nicht hintereinander stehen). Beispiele: [1, 2, 2, 2, 5, 2, 3, 2, 2, 23] -> [1, 2, 5, 3, 23] [99, 99, 23, 99, 99, 12, 2] -> [99, 23, 12, 2] [] -> [] [1, 2, 4, 10] -> [1, 2, 4, 10]""" pass
def binsearch(liste, such): """liefert den Index von such in der sortierten Liste liste oder -1, wenn such in liste nicht vorkommt. Es ist die binäre Suche anzuwenden! """ pass
def sumdigits(zahl): """Berechnet die Ziffernsumme aus der gegebenen Zahl (int)""" pass
def sumteilbar(liste, teiler): """Berechnet die Summe aller durch teiler teilbaren Zahlen der Liste""" pass
def issorted(liste): """Prüft, ob die Liste sortiert ist, d.h. ob e1 <= e2 <= e3 <= ... <= en e1, e2, ... en sind die n Elemente der Liste mit Länge n""" pass
def printlxl(liste1, liste2): """gibt eine Multiplikationstabelle der beiden Listen aus. Zum Beispiel: a = [1, 2, 4, 5] b = [3, 2, 2] printlxl(a, b) gibt dann folgendes aus: 3 2 2 6 4 4 12 8 8 15 10 10 Die erste Liste bestimmt die Anzahl der Zeilen, die zweite die Anzahl der Spalten. Es wird immer ein Element der ersten Liste mit einem der zweiten Liste multipliziert. """ pass
def lxl(liste1, liste2): """liefert eine Multiplikationstabelle der beiden Listen (Liste von Listen). Zum Beispiel: a = [1, 2, 4, 5] b = [3, 2, 2] lxl(a, b) liefert folgende Liste zurück: [[3, 2, 2], [6, 4, 4], [12, 8, 8], [15, 10, 10]] übersichtlich formatiert: [[3, 2, 2], [6, 4, 4], [12, 8, 8], [15, 10, 10]] Die erste Liste bestimmt die Anzahl der "Zeilen", die zweite die Anzahl der "Spalten". Es wird immer ein Element der ersten Liste mit einem der zweiten Liste multipliziert. """ pass
Schreiben Sie zu den Funktionen jeweils passende Testprogramme.
Labels: Aufgabe, POS1-1, Python
Abonnieren Posts [Atom]
Kommentar veröffentlichen