Übungen / Aufgaben zu Python

9 Lösungen Lösungen öffentlich
The Copper Coins Nr.1
Anfänger - Python von SymTech - 12.03.2015 um 14:30 Uhr
Schreibe ein Programm welches errechnet, wie viele Kupfermünzen (1,2,5 Cent) du mindestens brauchst um auf den vom User angegebenen Betrag zu kommen.

Konsolenausgabe:

Betrag in Cent: 54
Du brauchst mindestens 12 Münzen.
2 Lösungen Lösungen öffentlich
Das ist das Haus vom Nikolaus
Anfänger - Python von eulerscheZhl - 12.03.2015 um 10:20 Uhr
Schreibe ein Programm, das alle Lösungen des Haus vom Nikolaus findet.
0 Lösungen
WorkingArea manipulieren
Fortgeschrittener - Python von SymTech - 09.03.2015 um 15:32 Uhr
Schreibe ein Programm welches die Größe und Position der "WorkingArea" deines Primären Desktops verändern kann.
5 Lösungen Lösungen öffentlich
Berechnen von Pi mit Zufallszahlen
Anfänger - Python von eulerscheZhl - 07.03.2015 um 07:58 Uhr
Man kann die Kreiszahl Pi näherungsweise bestimmen, indem man Zufallszahlen generiert:
Man stelle sich einen Kreis mit Mittelpunkt (0/0) und Radius 1 vor. Es werden zufällig Punkte erzeugt, bei denen sowohl x als auch y im Intervall [0;1[ liegen. Dann wird die Entfernung dieser Punkte zum Ursprung ermittelt. Ist diese Entfernung kleiner als 1, so liegt der Punkt innerhalb des Kreises.
Setzt man bei einer ausreichenden Zahl von Zufallspunkten die Zahl der Treffer in das richtigen Verhältnis zur Gesamtzahl der Punkte, so erhält man einen Näherungswert für Pi (Pi = 4 * AnzahlTreffer / AnzahlGesamt).

Schreibe ein Programm, das auf oben beschriebene Weise Pi berechnet.
0 Lösungen
Verschlüsseln durch Verstecken
Fortgeschrittener - Python von eulerscheZhl - 27.02.2015 um 18:06 Uhr
Ein Teilgebiet der Kryptographie ist die Steganographie. Hier geht es darum Informationen so zu verstecken, dass andere gar nicht auf die Idee kommen, nach versteckten Informationen zu suchen.

Ein Beispiel, um eine Datei in einem Bild zu verstecken:
Erstelle ein Bytearray mit folgendem Inhalt: die ersten 4 Byte geben die Größe der versteckten Datei in Byte an (big Endian). Danach folgt der Dateiname in ASCII Codierung. Nach einem 0-Byte zu Trennung kommt die zu versteckende Datei selbst.
Diese Daten werden nun in einem Bild versteckt, indem die niederwertigsten beiden Bit eines Pixels für rot, grün und blau überschrieben werden, sodass in jedes Pixel 6 Bit passen. Es wird im oberen linken Eck gestartet und dann die Zeile aufgefüllt, anschließend in der nächsten Zeile fortgefahren.

Das Bild im Anhang wurde auf die beschriebene Weise manipuliert.
Schreibe ein Programm, das die versteckten Daten wieder sichtbar macht.
2 Lösungen Lösungen öffentlich
Gesellige Zahlen finden
Fortgeschrittener - Python von eulerscheZhl - 13.02.2015 um 19:56 Uhr
Eine Zahl ist dann vollkommen, wenn sie gleich der Summe ihrer Teiler ist. (Bsp.: die Teiler von 6 sind 1,2,3 und 1+2+3=6)
Es gibt aber auch Zahlenpaare, die jeweils die andere Zahl als Teilersumme besitzen (Bsp.: 220 und 284), befreundete Zahlen.
Dies lässt sich mit den geselligen Zahlen sogar noch steigern: hier ergibt nicht die Teilersumme von zwei Zahlen die jeweils andere, sondern es lässt sich eine Kette aus mehreren Zahlen bilden (Bsp.: 12496, 14288, 15472, 14536, 14264)

Finde alle Gruppen von geselligen Zahlen, bei denen keine eine Obergrenze (z.B. 10^7) übersteigt.
2 Lösungen Lösungen öffentlich
Giuga-Zahlen berechnen
Anfänger - Python von Gustl - 13.02.2015 um 12:42 Uhr
Eine natürliche Zahl n ist eine Giuga-Zahl, wenn alle ihre Primteiler p den Wert n/p - 1 teilen.

Schreibe ein Programm welches alle Giuga-Zahlen bis zu einer festen Obergrenze ausgibt.

Erläuterung zu einer Giuga-Zahl findest du hier: Wikipedia
9 Lösungen Lösungen öffentlich
Alle Harshad-Zahlen von 1 bis 100 berechnen
Anfänger - Python von Gustl - 13.02.2015 um 12:35 Uhr
Eine natürliche Zahl heißt Harshad-Zahl, wenn Sie durch ihre Quersummer teilbar ist.

Beispiel: 777 ist durch 7 + 7 + 7 = 21 teilbar und ist damit eine Harshad-Zahl.

Schreibe ein Programm welches alle Harshad-Zahlen von 1 bis 100 berechnet und am Bildschirm ausgibt.
4 Lösungen Lösungen öffentlich
Verteilung beim Würfeln mit zwei Würfeln
Anfänger - Python von Alucard1766 - 11.02.2015 um 13:59 Uhr
Angenommen du wirfst sehr viel mal mit zwei Würfeln. Wie sieht die Verteilung der Summe der geworfenen Würfelzahlen aus?

Vorgaben:
Simuliere möglichst zufällig sehr viele Würfe mit zwei Standardwürfel(=1-6).
Mindestens 100'000 Würfe, je mehr desto besser. -> Performanter Code
Gib aus, wie die Verteilung der Summe der beiden Würfeln prozentual/im Verhältnis aussehen
Du musst in der Lösung auf dieser Seite eine gut sicht- und interpretierbare Darstellung der Verteilung haben, damit wir die Ergebnisse vergleichen können


Beispiel:

Konsolenausgabe:

1. Wurf: 1 und 5 - Summe 6
2. Wurf: 4 und 2 - Summe 6
...
100000. Wurf: 3 und 1 - Summe 4

Ergebnis:
1 - 5%
2 - 7%
12 - 6%
1 Lösung Lösung öffentlich
Lösen eines Labyrinths
Fortgeschrittener - Python von eulerscheZhl - 13.12.2014 um 16:37 Uhr
Schreibe ein Programm, das in der Lage ist, ein Labyrinth zu lösen.
Regeln:
- das Startfeld ist im Eck unten links, das Ziel ist oben rechts
- ein Feld kann nur dann betreten werden, wenn es direkt an das aktuelle Feld angrenzt (diagonale Felder zählen nicht als angrenzend)
- bei der Lösung darf jedes Feld nur einmal durchquert werden

Das Programm kann das Labyrinth z.B. aus einer Textdatei entgegennehmen und soll dann den Weg vom Start zum Ziel ausgeben (siehe Screenshot im Anhang).
Es sind Beispiellabyrinthe mit unterschiedlicher Größe angefügt. Diese sind alle eindeutig lösbar.

Bonusaufgabe:
Schreibe eine Funktion, die Breite und Höhe entgegennimmt und dann zufällig ein Labyrinth erzeugt.
1 Lösung Lösung öffentlich
Einfache Rechtschreibprüfung
Anfänger - Python von devnull - 29.11.2014 um 19:52 Uhr
Schreibe ein Programm, dass eine einfache Rechtschreibprüfung realisiert (ohne Wörterbuch).
Das Programm soll einen Text einlesen und folgendes als Fehler melden:
- doppelte Worte
- kein Großbuchstabe am Satzanfang
- Großbuchstaben oder Ziffern mitten im Wort
- Leerzeichen vor Satzendezeichen, kein Leerzeichen nach Satzendezeichen
- (weitere Prüfungen nach Belieben)

Die Fehlerausgabe soll folgende Form haben:
Fehler in Zeile x, Spalte y: <Fehlerart, wie oben angegeben>
3 Lösungen Lösungen öffentlich
Programm für Dateisuche (Dateifilter)
Anfänger - Python von devnull - 29.11.2014 um 08:17 Uhr
Realisiere einen Dateifilter. Das Programm soll einen Verzeichnispfad und eine Namenserweiterung , z.B. ".txt" abfragen und alle dazu passenden Dateien aus dem Verzeichnis auflisten (Dateiname genügt).
Erweiterung: es soll möglich sein mit einem Muster, z.B. "*log.[1-3].gz" nach Dateien zu suchen.