Übungen / Aufgaben zu Python

3 Lösungen Lösungen öffentlich
Hitzeindex (gefühlte Temperatur)
Anfänger - Python von JKooP - 04.10.2020 um 12:08 Uhr
Die auf dem Thermometer, vor allem im Sommer, angezeigt Temperatur stimmt häufig nicht mit der gefühlten Temperatur überein. Denn je feuchter die Luft, desto wärmer nehmen wir die Temperatur wahr. Deshalb wurde der Hitzeindex (HI) eingeführt, der generell für Temperaturen ab 27°C und einer relativen Luftfeuchte von mehr als 40% angewendet wird.

Schreibe eine Methode/Funktion, die Temperatur (t) und Luftfeuchte (h) entgegennimmt und den Hitzeindex (hi) ausgibt.

hi = c1 + c2*t + c3*h +
c4*t*h + c5*t*t + c6*h*h +
c7*t*t*h + c8*t*h*h +
c9*t*t*h*h


c1 = -8.784695,
c2 = 1.61139411,
c3 = 2.338549,
c4 = -0.14611605,
c5 = -1.2308094e-2,
c6 = -1.6424828e-2,
c7 = 2.211732e-3,
c8 = 7.2546e-4,
c9 = -3.582e-6

Viel Spaß
3 Lösungen Lösungen öffentlich
Teilersumme natürlicher Zahlen
Anfänger - Python von JKooP - 04.10.2020 um 11:49 Uhr
Schreibe eine Methode/Funktion, mit der es möglich ist zu prüfen, ob es sich bei einer natürlichen Zahl um eine defiziente,
vollkommende oder abundante Zahl handelt.
Betrachtet wird die Summe aller Teiler ohne die Zahl selbst.

Beispiel Zahl 80:

1 + 2 + 4 + 5 + 8 + 10 + 20 + 40 = 106 --> abundant, da

Summe kleiner als Zahl --> defizient
Summe gleich Zahl --> vollkommen
Summe größer als Zahl --> abundant

Viel Spaß
2 Lösungen Lösungen öffentlich
Die n-te Zahl ermitteln
Fortgeschrittener - Python von JKooP - 04.10.2020 um 11:30 Uhr
Man nehme eine Zahl, die beispielsweise mit den Ziffern 245 beginnt.
Nun ist die Frage, welche ist z.B. die 12. Zahl, die ebenfalls mit 245 beginnt?

Lösung: 24500, denn
01. 245
02. 2450
03. 2451

11. 2459
12. 24500

Welche ist die 100. Zahl die mit 245 beginnt?

Variante 1: durch Probieren mittels einer Schleife (leicht)

Versucht man jetzt aber durch Probieren die 13000. Zahl zu ermitteln, kann das schon eine Weile dauern. Vielleicht lässt sich eine logische Folge ableiten?!

Variante 2: Berechnung der Zahl (schwieriger)

Viel Spaß
3 Lösungen Lösungen öffentlich
Berechnung von Widerständen
Anfänger - Python von JKooP - 04.10.2020 um 10:58 Uhr
Schreibe eine Methode bzw. Funktion, mit der man den Gesamtwiderstand von Parallel- bzw. Reihenschaltungen berechnen kann.
Dabei sollen sowohl die Werte der Einzelwiderstände als auch die Art der Schaltung vom Benutzer erfragt werden.

Variante 1: 2 separate Funktionen: f(float a, float b, … float n)
Variante 2: 1 kombinierte Funktion: f(artDerSchaltung, float a, float b, … float n)

Viel Spaß


1 Lösung Lösung öffentlich
Zoo mittels einer Factory-Methode
Fortgeschrittener - Python von Exception - 12.09.2020 um 16:36 Uhr
Hallo zusammen,

heute erzeugen wir einen Zoo!

Erzeugt hierfür eine Basisklasse (oder Interface) "Animal" und einige Klassen die davon erben (z.B. "Lion", "Penguin", "Crocodile", "Snake").

Als nächsten Schritt wollen wir nun eine Factory-Klasse erzeugen, die sich am "Factory-Method-Pattern" orientiert.
In dieser Klasse soll eine Methode "createAnimal" existieren, die ein "Animal" zurückgibt.
Welches "Animal" zurückgegeben wird überlassen wir vorerst dem reinen Zufall ;)
Daher kann diese Klasse auch "RandomAnimalFactory" genannt werden.

Lasst nun 200 "Animals" in den Zoo einziehen.

Wie ist die Verteilung der "Animals" einer jeden Spezies in unserem Zoo?

Es kann mit der zufälligen Erzeugung zu einem gewissen Ungleichgewicht kommen.
So fühlt sich ein einzelner Pinguin gegen 199 Löwen sicher etwas in der Unterzahl ...

Erstellt nun eine zweite Factory-Klasse "BalancedAnimalFactory".
Diese soll ebenfalls die Methode "createAnimal" enthalten.

(Macht es nun evtl. Sinn sich auch bei den Factory-Klassen über ein Interface gedanken zu machen?)

Diese Factory soll nicht mehr komplett zufällig Tiere erzeugen sondern etwas ausgeglichener.
Die dort vorhandene "createAnimal" Methode soll wie folgt funktionieren:
Angenommen wir haben vier Tier-Klassen ("Lion", "Penguin", "Crocodile", "Snake").
Wird nun ein "Lion" erzeugt, so wird für die nächsten beiden Erzeugungen kein "Lion" mehr erzeugt.

Lasst nun erneut 200 "Animals" einziehen - vielleicht in einen zweiten "Parkabschnitt" (Array)? :)
Muss sich der Pinguin noch immer Sorgen machen?

Viel Spaß!
2 Lösungen Lösungen öffentlich
Wochentage einlesen und in einem Array ausgeben
Anfänger - Python von Cara - 14.05.2020 um 23:46 Uhr
Schreiben Sie ein Programm, das die Wochentage in einliest und sie in
einem Array (vom Typ string [ ]) ablegt und danach ausgibt.
4 Lösungen Lösungen öffentlich
n Zahlen einlesen und deren Quadrate speichert und ausgibt
Anfänger - Python von Cara - 14.05.2020 um 23:46 Uhr
Schreiben Sie ein Programm, dass n Zahlen einliest und deren
Quadrate in einem Array speichert und sie danach ausgibt.
(Die Zahl n soll vom Benutzer abgefragt werden.)
0 Lösungen
Wettervorhersage als Text formulieren
Fortgeschrittener - Python von Gnom - 13.05.2020 um 00:54 Uhr
Schreibe ein Programm, das eine Wettervorhersage (erstmal nur Temperaturen) als Text fomuliert.
Als Ausgangsinformationen dienen vier Temperaturangaben für vormittags, nachmittags, abends und nachts.
Das Programm soll die Sätze variantenreich formulieren, z. B. abhängig davon, ob es im Laufe des Tages kälter oder wärmer wird oder ob die Temperaturen sehr kalt, mäßig, warm oder heiß sind. Für gleichartige Sachverhalte kann auch per Zufallsgenerator zwischen verschiedenen gleichwertigen Formulierungen gewählt werden.

Erweiterung 1:
Es wird zusätzlich ein Datum angegeben. Die Formulierungen orientieren sich dann zusätzlich an Temperatur-Druchschnittswerten des jeweiligen Monats.
(Tageshöchsttemperatur Jan-Dez: 2, 3, 8, 12, 18, 21, 23, 23, 19, 14, 7, 4 - Tiefsttemperaturen nachts Jan-Dez: -2, -3, 1, 4, 9, 12, 14, 14, 11, 7, 3, 0)

Erweiterung 2:
Vergleichbares kann man für Angaben zu Sonne/Bewölkung, Niederschlägen (Regen, Schnee) bzw. Niederschlagsmengen und Windstärke/-richtung ergänzen.
(Niederschlagsmengen in mm Jan-Dez: 42, 30, 39, 36, 42, 72, 51, 45, 45, 30, 45, 57)

Erweiterung 3:
Sonderwetterlagen können zusätzlich eingebracht werden, z. B. Gewitter, Nebel, Hagel, Starkregen, Blitzeis.

Quelle Klimadaten für Berlin: https://www.klimatabelle.info/europa/deutschland
1 Lösung Lösung öffentlich
Mehrdimensional zu Eindimensional
Anfänger - Python von Exception - 11.05.2020 um 08:38 Uhr
Das folgende mehrdimensionale Array soll zu einem flachen, eindimensionalen Array umgewandelt werden. Viel Spaß.
Quellcode ausblenden PHP-Code
$a = [
	0 => 'Text 0',
	1 => 'Text 1',
	2 => 'Text 2',
	'A' => [
		0 => 'Text A 0',
		1 => 'Text A 1',
		2 => 'Text A 2',
	],
	'B' => [
		'A' => [
			0 => 'Text B A 0',
			1 => 'Text B A 1',
			2 => 'Text B A 2',
		]
	]
];


2 Lösungen Lösungen öffentlich
Rationale Zahlen einlesen: Mittelwert,Produkt und das Maximum ermitteln
Anfänger - Python von Cara - 10.05.2020 um 21:54 Uhr
Schreiben Sie ein Programm, das n rationale Zahlen einliest / einlesen kann und den Mittelwert, das Produkt und das Maximum dieser Zahlen ermittelt und ausgibt.
3 Lösungen Lösungen öffentlich
Schreiben Sie eine Methode, die 10 Integerzahlen vom Benutzer einliest und in einem Array abspeichert.
Anfänger - Python von Cara - 10.05.2020 um 21:52 Uhr
Schreiben Sie eine Methode, die 10 Integerzahlen vom Benutzer einliest und in einem Array abspeichert.
2 Lösungen Lösungen öffentlich
WHtR (Waist to Height Ratio) berechnen
Anfänger - Python von JKooP - 10.05.2020 um 09:17 Uhr
Schreibe ein Programm zur Ermittlung des WHtR- Wertes aus Taillenumfang + Körpergröße und der daraus resultierenden Bewertung.

Es sollen sowohl das Geschlecht (m/w) als auch das Kindesalter bzw. der Altersfaktor für Erwachsene berücksichtigt werden.

Viel Spaß