Übungen / Aufgaben zu Python

2 Lösungen Lösungen öffentlich
ISBN-Nummern überprüfen
Anfänger - Python von bibir - 03.09.2014 um 09:10 Uhr
Eine ISBN-Nummer setzt sich immer aus vier Teilen zusammen, der Gruppenzahl, Verlagsnummer, Titelnummer und einer Prüfziffer. Diese vier Teile werden durch Bindestriche (oder seltener Leerzeichen) abgetrennt. Eine ISBN-Nummer ist stets zehnstellig.

Die Prüfziffer erlaubt, die Gültigkeit einer ISBN-Nummer festzustellen. Sie wird so gewählt, dass die ganze Nummer folgende mathematische Eigenschaft erfüllt:
Man multipliziere die erste Stelle mit 10, die zweite Stelle mit 9, die dritte mit 8, und so weiter bis zur neunten Stelle (mal 2), und addiere alle erhaltenen Produkte. Wenn man zu dieser Zahl die Prüfziffer dazuaddiert, so muss ein Vielfaches von 11 entstehen. Als Besonderheit kann die Prüfziffer auch den Buchstaben X annehmen, der dann als Zahlenwert 10 interpretiert wird.

Beispiel:
Die ISBN-Nummer lautet 3-8931-9301-4, also rechnen wir
3 * 10 + 8 * 9 + 9 * 8 + 3 * 7 + 1 * 6 + 9 * 5 + 3 * 4 + 0 * 3 + 1 * 2 + Prüfziffer 4 = 264.
Diese Zahl ist 24 * 11, also ist es eine gültige ISBN-Nummer.
2 Lösungen Lösungen öffentlich
Spaltenbreite und Blocksatz
Anfänger - Python von bibir - 03.09.2014 um 08:33 Uhr
Ein vorgegebener Text soll eingelesen und in einer bestimmten Spaltenbreite wieder ausgegeben werden.
Die Spaltenbreite N wird als Eingabeparameter vorgegeben. Der Text besteht aus "Wörtern", die durch Leerzeichen (Blank) getrennt sind. Unter einem "Wort" wird hier eine beliebige zusammenhängende Zeichenkette verstanden, wobei jedes Zeichen eine Druckstelle einnimmt.

Der Text soll ausgerichtet werden an den beiden Spaltenrändern, und die zusätzlich einzuführenden Blanks sollen möglichst gleichmäßig auf die Zwischenräume zwischen den Wörtern verteilt werden.

Der Text beginnt in einer Spalte grundsätzlich linksbündig, Wörter, die länger sind als die Spaltenbreite, werden am rechten Rand ohne Trennzeichen zwangsweise getrennt. Silbentrennung darf nicht durchgeführt werden.
2 Lösungen Lösungen öffentlich
Austarieren (Mathematisches Problem)
Anfänger - Python von bibir - 03.09.2014 um 08:27 Uhr
Der folgenden Aufgabenstellung liegt das Problem des Austarierens zugrunde, wie man es z. B. bei einer Balkenwaage mit einer vorgegebenen Anzahl von Gewichten vorfindet.
Jede natürliche Zahl n lässt sich als Summe von Potenzen zur Basis 3 eindeutig darstellen.

Die Eindeutigkeit dieser Darstellung soll als gesichert vorausgesetzt werden.

Es ist ein Programm/Skript zu schreiben, das zu einer einzulesenden Zahl n <= 2000 den Wert m und die
Koeffizienten berechnet. Die Ausgabe soll wie im Beispiel angegeben erfolgen.

Hinweis: Das m ist gleich dem größten j, für das gilt: 3j < 2n.

Beispiel:
Für n = 46 erhält man m = 4.
Die Ausgabe sieht dann folgendermaßen aus:
n = 46
m = 4
46 =
+3**4
-3**3
-3**2
+3**0
6 Lösungen Lösungen öffentlich
vollkommene Zahl (Mathematisches Problem)
Anfänger - Python von bibir - 03.09.2014 um 08:21 Uhr
Man nennt eine natürliche Zahl N "vollkommen", wenn die Summe aller echten Teiler von N gleich N ist.

Zum Beispiel ist 28 eine vollkommene Zahl, da 1 + 2 + 4 + 7 + 14 = 28 ist.

Schreibe ein Programm/Skript, das beliebig oft eine Zahl N (mit 0 < N < 100000) einliest und feststellt, ob N eine vollkommene Zahl ist. Falls ja, soll das Programm N und die zugehörenden echten Teiler ausgeben, andernfalls ist nur N und die Meldung "ERFUELLT DIE BEDINGUNG NICHT" zu drucken.
6 Lösungen Lösungen öffentlich
Alle Primzahlen bis zu einem Maximalwert ermitteln
Anfänger - Python von devnull - 26.02.2014 um 18:36 Uhr
Es soll ein Programm geschrieben werden, welches alle Primzahlen im Bereich von 2 bis zu einem Maximalwert sucht und auf der Konsole ausgibt.
Den Maximalwert soll der Benutzer beim Programmaufruf auf der Kommandozeile angeben können.
Der Algorithmus zur Primzahlensuche ist frei wählbar.
4 Lösungen Lösungen öffentlich
String einlesen, umkehren und Leerzeichen einfügen
Anfänger - Python von pianoplayer - 30.11.2013 um 13:34 Uhr
Schreiben Sie eine Funktion reverse_add_blank!, die einen String entgegennimmt, die Reihenfolge der Buchstaben umkehrt und Leerzeichen einfügt. Die Funktion soll den String verändern!
3 Lösungen Lösungen öffentlich
Matrizen um 90 Grad drehen
Anfänger - Python von pocki - 11.11.2013 um 16:38 Uhr
Erstelle ein Programm, welches als Eingabe eine Matrix beliebiger Größe entgegennimmt und diese dann um 90 Grad dreht.

Beispiel an einer 4x4 Matrix:
Eingabematrix mit den Elementen:
a11 a12 a13 a14
a21 a22 a23 a24
a31 a32 a33 a34
a41 a42 a43 a44

sollte diese Ausgabematrix erzeugen:
a41 a31 a21 a11
a42 a32 a22 a12
a43 a33 a23 a13
a44 a34 a24 a14

Das Programm sollte für unterschiedlich großen und auch mit nicht quadratischen Matrizen funktionieren.
2 Lösungen Lösungen öffentlich
Aktuellen Aktienkurs auslesen und ausgeben
Fortgeschrittener - Python von Gustl - 08.11.2013 um 19:57 Uhr
Schreibe ein Konsolenprogramm welches den aktuellen Aktienkurs von eine Aktien deiner Wahl ausgibt.
Benutze hierfür eine API. Als kleine Anregung: yahoo finance API
2 Lösungen Lösungen öffentlich
Bei Addition von Tage nur Werktage beachten
Anfänger - Python von Gustl - 22.07.2013 um 11:04 Uhr
Schreibe ein Programm welches die Anzahl der addierenden Tage abfrägt und dann das Datum ausgibt.
Bei der Addition der Tage sollen aber nur die Werktage (Geschäftstage): Montag, Dienstag, Mittwoch, Donnerstag und Freitag beachtet werden.

Beispiel: Heute ist der 22.07. (Montag), wenn ich nun 7 Tage eingebe soll der 31.07. (Mittwoch) ausgegeben werden.
2 Lösungen Lösungen öffentlich
Schleifen - Reguläre Ausdrücke - Eingabe auf 'fred' prüfen
Anfänger - Python von Gustl - 25.06.2013 um 15:24 Uhr
Schreiben Sie ein Programm, das jede Eingabezeile ausgibt, in der "fred" vorkommt. (Andere Eingabezeilen sollen nicht behandelt werden.) Das Muster soll auch Fred, Frederick, Alfred oder FrEd finden? (Egal ob die Buchstaben klein oder groß geschrieben werden.
7 Lösungen Lösungen öffentlich
Schleifen - ersten 100 Quadratzahlen
Anfänger - Python von Gustl - 25.06.2013 um 13:27 Uhr
Erstelle ein kleines Programm welches eine Liste mit den ersten 100 Quadratzahlen erzeugt und diese ausgibt.

2 Lösungen Lösungen öffentlich
Zeit zwischen zweier Tage
Anfänger - Python von Dome - 10.03.2013 um 23:50 Uhr
Erstellen Sie ein Programm, mit dem man die Zeitdifferenz zwischen zwei Tagen bestimmen kann. Hierzu muss man beide Tage eingeben und das Programm gibt die Zeitdifferenz aus.

Je nach Schwierigkeitsgrad:
Eingabe der Daten per Konsole oder GUI, eine Art Dropdown-Menü oder ähnliches
Ausgabe der Differenz in mehreren "Zeitformen", Tage, Monate, Jahre, Minuten, Stunden
Eingabe von Uhrzeiten, die jeweils in die Berechnung einfließen