Python Aufgaben
Hier ein paar Aufgaben, die du lösen kannst, um deine Kenntnisse in Python zu vertiefen :)
Schreibe ein Programm, das die Zahlen von 1 bis 100 ausgibt. Für Vielfache von 3 soll "Fizz" anstelle der Zahl ausgegeben werden, für Vielfache von 5 "Buzz". Für Zahlen, die sowohl Vielfache von 3 als auch von 5 sind, soll "FizzBuzz" ausgegeben werden.
for i in range(1, 101):
if i % 3 == 0 and i % 5 == 0:
print("FizzBuzz")
elif i % 3 == 0:
print("Fizz")
elif i % 5 == 0:
print("Buzz")
else:
print(i)
Schreibe eine Funktion, die überprüft, ob ein gegebenes Wort ein Palindrom ist (d.h. es liest sich vorwärts und rückwärts gleich). Beispiel: "Anna" ist ein Palindrom, "Hallo" nicht.
def is_palindrome(word):
return word == word[::-1]
print(is_palindrome("Anna")) # True
print(is_palindrome("Hallo")) # False
Schreibe eine Funktion, die die Fibonacci-Zahlen bis zu einer gegebenen Zahl n berechnet. Die Fibonacci-Zahlen sind definiert als:
def fibonacci(n):
if n <= 0:
return []
elif n == 1:
return [0]
elif n == 2:
return [0, 1]
else:
fib = [0, 1]
for i in range(2, n):
fib.append(fib[i-1] + fib[i-2])
return fib
print(fibonacci(10)) # [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
Nun ein paar gamefied Aufgaben, damit du auch ein bisschen Spaß beim Programmieren hast. Diese Aufgaben sind nicht so einfach, aber du kannst sie schaffen! Wenn du nicht weiterkommst, schau dir die Lösung an oder frage mich um Hilfe. Viel Spaß! :D
Du bist ein Abenteurer, der in einer fantastischen Welt lebt. Du hast die Fähigkeit, mit Tieren zu sprechen und sie zu zähmen. Deine Aufgabe ist es, verschiedene Tiere zu finden und sie zu zähmen, um deine Abenteuer zu bestehen. Jedes Tier hat seine eigenen Eigenschaften und Fähigkeiten. Du musst die Tiere finden, ihre Eigenschaften herausfinden und sie dann zähmen.
Schreibe eine Funktion, die ein zufälliges Tier aus einer Liste von Tieren auswählt. Jedes Tier hat einen Namen und eine Fähigkeit. Beispiel: "Löwe" mit der Fähigkeit "Brüllen", "Adler" mit der Fähigkeit "Fliegen". Eine Liste von Tieren könnte so aussehen:
animals = [
{"name": "Löwe", "ability": "Brüllen"},
{"name": "Adler", "ability": "Fliegen"},
{"name": "Fisch", "ability": "Schwimmen"},
{"name": "Pferd", "ability": "Reiten"},
]
Dein Ziel ist es, ein zufälliges Tier aus dieser Liste auszuwählen und seine Eigenschaften auszugeben. Verwende dazu die random-Bibliothek.
import random
animals = [
{"name": "Löwe", "ability": "Brüllen"},
{"name": "Adler", "ability": "Fliegen"},
{"name": "Fisch", "ability": "Schwimmen"},
{"name": "Pferd", "ability": "Reiten"},
]
def find_random_animal(animals):
return random.choice(animals)
random_animal = find_random_animal(animals)
print(f"Gefundenes Tier: {random_animal['name']}, Fähigkeit: {random_animal['ability']}")
Schreibe eine Funktion, die überprüft, ob du ein Tier zähmen kannst. Jedes Tier hat eine Zähmungsstufe, die angibt, wie schwierig es ist, das Tier zu zähmen. Du hast eine Zähmungsfähigkeit, die angibt, wie gut du im Zähmen von Tieren bist. Wenn deine Zähmungsfähigkeit höher oder gleich der Zähmungsstufe des Tieres ist, kannst du es zähmen. Beispiel:
animals = [
{"name": "Löwe", "ability": "Brüllen", "taming_level": 5},
{"name": "Adler", "ability": "Fliegen", "taming_level": 3},
{"name": "Fisch", "ability": "Schwimmen", "taming_level": 1},
{"name": "Pferd", "ability": "Reiten", "taming_level": 4},
]
Deine Zähmungsfähigkeit ist 4. Gib eine Liste aller Tiere aus, die du nicht zähmen kannst. Verwende dazu eine for-Schleife und eine if-Bedingung.
animals = [
{"name": "Löwe", "ability": "Brüllen", "taming_level": 5},
{"name": "Adler", "ability": "Fliegen", "taming_level": 3},
{"name": "Fisch", "ability": "Schwimmen", "taming_level": 1},
{"name": "Pferd", "ability": "Reiten", "taming_level": 4},
]
taming_skill = 4
def can_tame(animals, taming_skill):
unable_to_tame = []
for animal in animals:
if animal["taming_level"] > taming_skill:
unable_to_tame.append(animal["name"])
return unable_to_tame
unable_to_tame = can_tame(animals, taming_skill)
print(f"Tiere, die du nicht zähmen kannst: {', '.join(unable_to_tame)}")
Schreibe eine Funktion, die einen Kampf zwischen zwei Tieren simuliert. Jedes Tier hat eine Lebenspunkte (HP) und einen Angriffswert. Der Kampf endet, wenn eines der Tiere keine Lebenspunkte mehr hat. Das Tier mit den meisten Lebenspunkten gewinnt. Beispiel:
animals = [
{"name": "Löwe", "hp": 100, "attack": 20},
{"name": "Adler", "hp": 80, "attack": 25},
]
Deine Funktion sollte die Lebenspunkte der Tiere während des Kampfes aktualisieren und das Ergebnis ausgeben. Verwende dazu eine while-Schleife und eine if-Bedingung.
animals = [
{"name": "Löwe", "hp": 100, "attack": 20},
{"name": "Adler", "hp": 80, "attack": 25},
]
def animal_battle(animal1, animal2):
while animal1["hp"] > 0 and animal2["hp"] > 0:
animal1["hp"] -= animal2["attack"]
animal2["hp"] -= animal1["attack"]
print(f"{animal1['name']} HP: {animal1['hp']}, {animal2['name']} HP: {animal2['hp']}")
if animal1["hp"] > 0:
print(f"{animal1['name']} gewinnt!")
else:
print(f"{animal2['name']} gewinnt!")
animal_battle(animals[0], animals[1])
Schreibe eine Funktion, die das Level eines Tieres basierend auf seinen Lebenspunkten und Angriffswerten berechnet. Das Level wird als Durchschnitt der Lebenspunkte und des Angriffswerts berechnet. Beispiel:
animals = [
{"name": "Löwe", "hp": 100, "attack": 20},
{"name": "Adler", "hp": 80, "attack": 25},
]
Deine Funktion sollte das Level jedes Tieres ausgeben. Verwende dazu eine for-Schleife und eine if-Bedingung.
animals = [
{"name": "Löwe", "hp": 100, "attack": 20},
{"name": "Adler", "hp": 80, "attack": 25},
]
def calculate_level(animal):
return (animal["hp"] + animal["attack"]) / 2
for animal in animals:
level = calculate_level(animal)
print(f"{animal['name']} Level: {level}")
Schreibe eine Funktion, die die beste Tierfamilie basierend auf den Lebenspunkten und Angriffswerten berechnet. Die beste Tierfamilie ist die Familie mit dem höchsten Durchschnittswert aus Lebenspunkten und Angriffswerten. Beispiel:
animals = [
{"name": "Löwe", "hp": 100, "attack": 20, "family": "Land"},
{"name": "Adler", "hp": 80, "attack": 25, "family": "Land"},
{"name": "Fisch", "hp": 50, "attack": 10, "family": "Wasser"},
{"name": "Otter", "hp": 70, "attack": 15, "family": "Wasser"},
]
Deine Funktion sollte die beste Tierfamilie ausgeben. Verwende dazu eine for-Schleife und eine if-Bedingung.
animals = [
{"name": "Löwe", "hp": 100, "attack": 20, "family": "Land"},
{"name": "Adler", "hp": 80, "attack": 25, "family": "Land"},
{"name": "Fisch", "hp": 50, "attack": 10, "family": "Wasser"},
{"name": "Otter", "hp": 70, "attack": 15, "family": "Wasser"},
]
def best_family(animals):
family_stats = {}
for animal in animals:
family = animal["family"]
if family not in family_stats:
family_stats[family] = {"total_hp": 0, "total_attack": 0, "count": 0}
family_stats[family]["total_hp"] += animal["hp"]
family_stats[family]["total_attack"] += animal["attack"]
family_stats[family]["count"] += 1
best_family = None
best_average = 0
for family, stats in family_stats.items():
average = (stats["total_hp"] + stats["total_attack"]) / (2 * stats["count"])
if average > best_average:
best_average = average
best_family = family
return best_family
best_family = best_family(animals)
print(f"Beste Tierfamilie: {best_family}")