Übungen / Aufgaben zu Python

3 Lösungen Lösungen öffentlich
Turmspringen/Wasserspringen (Punktewertung)
Anfänger - Python von JKooP - 02.04.2021 um 09:28 Uhr
Bei internationalen Wettkämpfen bewerten in Einzelwettbewerben sieben Wettkampfrichter die Sprünge.
Jeder vergibt pro Sprung 0 bis 10 Punkte, mit Schritten von halben Punkten.
Die zwei höchsten und niedrigsten Wertungen werden gestrichen.
Die verbleibenden drei Wertungen werden addiert und das Ergebnis mit dem Schwierigkeitsgrad multipliziert.
Das Endresultat entspricht der erzielten Punktzahl des Springers.

Beispiel 1:
Schwierigkeitsgrad: 2,1
Punkte: 7,5 | 7,5 | 7,0 | 8,0 | 8,0 | 7,5 | 8,5
Gestrichen: 7,5 | 7,5 | 7,0 | 8,0 | 8,0 | 7,5 | 8,5
Wertung: 7,5 + 7,5 + 8,0 = 23 * 2,1 = 48,3

Beispiel 2:
Schwierigkeitsgrad: 1,6
Punkte: 7,5 | 7,5 | 7,5 | 7,5 | 7,5 | 7,5 | 7,5
Gestrichen: 7,5 | 7,5 | 7,5 | 7,5 | 7,5 | 7,5 | 7,5
Wertung: 7,5 + 7,5 + 7,5 = 22,5 * 1,6 = 36

Erstelle eine Methode/Funktion, mit der die obige Aufgabenstellung gelöst werden kann.

Viel Spaß
3 Lösungen Lösungen öffentlich
Figur zurück zum Ausgangspunkt
Anfänger - Python von JKooP - 02.04.2021 um 08:45 Uhr
Eine Figur bewegt sich auf einer 2D- Spielfläche (Koordinatensysteme). Dabei startet sie an der Position (0, 0).
Die Figur kann folgende Bewegungen im Einzelschritt durchführen: Right (R), Left (L), Up (U) und Down (D).
Anhand einer bestimmten Sequenz soll geprüft werden, ob sich die Figur am Ende wieder an der Ausgangsposition befindet.

Beispielsequenzen:
s = „UD“: Wahr
s = „LURD“: Wahr
s = „LLDD“: Falsch
s = „LLUUURDDRD“: Wahr
s = „LDRRLRUULR“: Falsch

Schreibe eine Methode/Funktion, die obige Aufgabenstellung realisieren kann.

Viel Spaß
4 Lösungen Lösungen öffentlich
Produkt der 2 größten Elemente eines Arrays
Anfänger - Python von JKooP - 01.04.2021 um 11:53 Uhr
Erstelle eine Methode/Funktion, die das Produkt der beiden größten Elemente eines Arrays berechnet.

array = { 1, 7, 5, 9, 2, 3 }

Lösung:
(7 * 9) = 63

Je nach Vorliebe bzw. Programmiersprache können natürlich auch Listen oder Vektoren genutzt werden.

Viel Spaß
2 Lösungen Lösungen öffentlich
Palindromische Primzahlen
Anfänger - Python von hollst - 29.03.2021 um 21:12 Uhr
Man erzeuge eine Liste aller Primzahle <= 1 Milliarde (1E+9), die in dezimaler Präsentation umgekehrt gelesen ebenfalls eine Primzahl sind (Palindromische Primzahlen). Z. B. 13; 31 ist ebenfalls Primzahl.

Viel Spaß!
1 Lösung Lösung öffentlich
Alphametik – ein Logikrätsel
Anfänger - Python von eisheiliger - 17.03.2021 um 17:25 Uhr
Gegeben sei folgende Addition:

I B X B J J + U B I J U J = J O T F M O

Die Aufgabe besteht darin, jedem Buchstaben genau die Ziffer zwischen 0 bis 9 zuzuordnen

I = 1, U= 2, F = 3, J = 4, X = 5, M = 6, T = 7, O = 8, B = 9

damit die Addition aufgeht. Hier ist das Ergebnis:

1 9 5 9 4 4 + 2 9 1 4 2 4 = 4 8 7 3 6 8

Gibt es eine oder mehrere Lösungen? Im Internet findet Ihr weitere Alphametiken.
Viel Erfolg – viel Spaß.
2 Lösungen Lösungen öffentlich
Anagramme (Schüttelwörter) gruppieren
Fortgeschrittener - Python von JKooP - 13.03.2021 um 12:41 Uhr
Von einem Anagramm oder auch deutsch Schüttelwort spricht man,
wenn man durch Umstellen der vorhandenen Zeichen eines Wortes ein neues sinnvolles Wort bilden kann.
Oft werden Anagramme mit Palindromen verwechselt, wobei ein Anagramm auch gleichzeitig
ein Palindrom sein kann, z.B.: LAGERREGAL – REGALLAGER.

ANNA – ANNA hingegen ist kein Anagramm, sondern ein Palindrom,
obwohl es wegen des Gleichklangs ANA oft irrtümlich so bezeichnet wird.

Gegeben ist eine Liste bestehend aus verschiedenen Wörtern.
list = { "eat", "tea", "tan", "ate", "nat", "bat" };

Schreibe eine Methode/Funktion, die die Liste list auf Anagramme hin überprüft
und die Ergebnisse in einer neuen Liste gruppiert zurückgibt.

result = { {"bat"}, {"nat", "tan"}, {"ate", "eat", "tea"} }

Die Reihenfolge der Rückgabe in der List ist nicht entscheidend.
Wörter, die keine Anagramme bilden, sollen ebenfalls als Einzelwort in die Ergebnisliste aufgenommen werden.
Je nach Programmiersprache oder Vorliebe können statt Listen auch Arrays oder Tupel verwendet werden.

Viel Spaß
1 Lösung Lösung öffentlich
Erstes einzelnes Zeichen in einem String
Anfänger - Python von JKooP - 06.03.2021 um 18:25 Uhr
Erstelle eine Methode/Funktion, mit der man den Index des ersten einzeln
vorkommenden Zeichens in einem String (Text) ermitteln kann.
Groß- und Kleinschreibung soll nicht unterschieden werden.

Hinweise:
String ist nullbasiert.
Wenn es keine Lösung gibt, soll -1 ausgegeben werden.

Beispiele:
trainyourprogrammer => 0 (t)
lovegenericlists => 1 (o)
lovelollorosso => 2 (v)
otto => -1

Viel Spaß
1 Lösung Lösung öffentlich
Und noch mehr Quersummen
Anfänger - Python von JKooP - 06.03.2021 um 18:04 Uhr
Von einer positiven Integer- Zahl soll solange die Quersumme gebildet werden
bis die Zahl einstellig geworden ist.
Die einstellige Zahl soll als Ergebnis ausgegeben werden.

Beispiel:
739 => 7 + 3 + 9 = 19
19 => 1 + 9 = 10
10 => 1 + 0 = 1

Viel Spaß
4 Lösungen Lösungen öffentlich
Isomorphe Strings (Mustergleichheit)
Fortgeschrittener - Python von JKooP - 06.03.2021 um 17:43 Uhr
Als isomorph bezeichnet man zwei oder mehrere Strings (Texte),
die zwar inhaltlich unterschiedlich sind, aber dennoch das gleiche Muster aufweisen.

Achtung:
Gleiche Buchstaben bedeuten Musterwiederholung! ABAB ist nicht ABCD, aber CDCD.

Beispiele:
s1 = ABBA; s2 = OTTO => true
s1 = PAPER; s2 = TITLE => true
s1 = EGG; s2 = ADD => true
s1 = BADC; s2 = BABA => false
s1 = BBBAAABA; s2 = AAABBBBA => false

Erstelle eine Funktion/Methode, die zwei Strings (Texte) hinsichtlich Isomorphie vergleicht.

Viel Spaß
3 Lösungen Lösungen öffentlich
Zweierpotenz (Power Of Two)
Anfänger - Python von JKooP - 06.03.2021 um 11:51 Uhr
Erstelle eine Methode/Funktion, mit der man bestimmen kann,
ob die übergebene Zahl als Ganzzahl- Potenz (Integer) zur Basis 2 geschrieben werden kann.

Beispiele:

Zahl: 1 => true
Lösung: 0, denn 2 hoch 0 = 1

Zahl: 16 => true
Lösung: 4, denn 2 hoch 4 = 16

Zahl: 3 => false
Lösung: keine, da keine Ganzzahl zur Basis 2 die Zahl 3 ergibt

Für Fortgeschrittene:
Die Aufgabe ohne Zuhilfenahme der eingebauten Logarithmusfunktionen lösen.

Viel Spaß
3 Lösungen Lösungen öffentlich
Magisches Quadrat (magic square)
Fortgeschrittener - Python von JKooP - 28.02.2021 um 10:54 Uhr
Von einem Magischen Quadrat spricht man, wenn
- alle Zahlen nur einmal vorkommen und die Summe der Zahlen
- aller Zeilen,
- aller Spalten sowie
- der Diagonalen immer gleich ist.

Beispiele für Magische Quadrate sind als Bilder angehängt.

Schreibe eine Methode/Funktion, mit der man überprüfen kann, ob es sich bei einer
beliebig großen quadratischen Matrix um ein solch magisches Quadrat handelt.
Zusätzlich kann, bei positiver Prüfung, auch die gesuchte Summe ausgegeben werden.

Zur Darstellung der Matrix können je nach Programmiersprache oder Vorliebe Arrays,
Vektoren oder auch generische Listen verwendet werden.

Viel Spaß
3 Lösungen Lösungen öffentlich
Fröhliche Zahlen (Happy Number)
Fortgeschrittener - Python von JKooP - 28.02.2021 um 10:24 Uhr
Von einer fröhlichen Zahl spricht man, wenn eine natürliche Ausgangszahl (Integer)
nach einer bestimmten Iterationsvorschrift am Ende den Zielwert 1 hat.

Die Iterationsvorschrift hier:
Die Summe der Quadrate aller Ziffern einer Zahl.
Wiederholen des Prozesses mit der neu entstandenen Zahl, bis am Ende
das Ergebnis entweder 1 (true) ist oder die Schleife unendlich weiterläuft (false).

Beispiel Glückliche Zahl:
Zahl 19
1² + 9² = 82
8² + 2² = 68
6² + 8² = 100
1² + 0² + 0² = 1

Beispiel unendlich:
Zahl 2
2² = 4
4² = 16
1² + 6² = 37
3² + 7² = 58
5² + 8² = 89
8² + 9² = 145
...

Aufgabe 1 (mittel):
Erstelle eine Methode/Funktion, die als Ergebnis bei einer Glücklichen Zahl den Wert true
und ansonsten false zurückgibt. Dabei können mehrere Schleifen ineinander verschachtelt werden.

Aufgabe 2 (schwieriger):
Wie Aufgabe 1, aber mit nur einer Schleife.

Viel Spaß