0 Daumen
249 Aufrufe

Aufgabe:

Spezifikation in Python schreiben.

Hierzu habe ich zwei Telefonanbieter.

Anbieter A= Anschlusspreis 30€, Monatliche Kosten 20€

Anbieter B= Kein Anschlusspreis monatliche Kosten 25€

Jetzt soll ich die Spezifikation so schreiben, dass diese individuell nutzbar ist falls ich auch mal etwas anderes vergleichen möchte.

Avatar von

1 Antwort

0 Daumen

Antwort mit KI erzeugt

Um die Spezifikation in Python zu schreiben, die deine Anforderungen für den Vergleich zweier Anbieter erfüllt und zugleich flexibel genug ist, um für andere Vergleiche verwendet zu werden, kannst du eine Klassenstruktur verwenden. Hierbei erstellen wir eine Klasse für die Anbieter, die es ermöglicht, verschiedene Kostenstrukturen und Preise zu modellieren. Anschließend implementieren wir eine Funktion, die den Vergleich zwischen zwei Anbietern durchführt, basierend auf den Gesamtkosten für eine gegebene Anzahl von Monaten.

Schritt 1: Definition der Klasse Anbieter

Zuerst definieren wir eine Klasse Anbieter, die den Anschlusspreis und die monatlichen Kosten als Attribute hat. Diese Klasse kann leicht angepasst werden, um zusätzliche Attribute oder Verhaltensweisen aufzunehmen, falls notwendig.

python
class Anbieter:
    def __init__(self, name, anschlusspreis, monatliche_kosten):
        self.name = name
        self.anschlusspreis = anschlusspreis
        self.monatliche_kosten = monatliche_kosten

    def gesamtkosten(self, monate):
        return self.anschlusspreis + self.monatliche_kosten * monate


Schritt 2: Vergleichsfunktion

Nun implementieren wir eine Funktion, die zwei Anbieter Instanzen und die Anzahl der Monate nimmt, für die der Vergleich durchgeführt werden soll. Anschließend berechnet und vergleicht sie die Gesamtkosten und gibt aus, welcher Anbieter günstiger ist.

python
def vergleiche_anbieter(anbieter1, anbieter2, monate):
    kosten1 = anbieter1.gesamtkosten(monate)
    kosten2 = anbieter2.gesamtkosten(monate)

    if kosten1 < kosten2:
        print(f"{anbieter1.name} ist günstiger über einen Zeitraum von {monate} Monaten: {kosten1}€ im Vergleich zu {kosten2}€.")
    elif kosten2 < kosten1:
        print(f"{anbieter2.name} ist günstiger über einen Zeitraum von {monate} Monaten: {kosten2}€ im Vergleich zu {kosten1}€.")
    else:
        print(f"Beide Anbieter kosten über einen Zeitraum von {monate} Monaten gleich viel: {kosten1}€.")


Beispiel Nutzung:

python
anbieter_a = Anbieter("Anbieter A", 30, 20)
anbieter_b = Anbieter("Anbieter B", 0, 25)

vergleiche_anbieter(anbieter_a, anbieter_b, 12) # Vergleich über 12 Monate


Diese Implementierung ermöglicht es, leicht weitere Dienstleistungsanbieter oder Kostenstrukturen hinzuzufügen. Die Anbieter Klasse und die vergleiche_anbieter Funktion bilden eine flexible Grundlage, auf der du für unterschiedlichste Vergleiche aufbauen kannst, indem du einfach neue Instanzen der Anbieter Klasse mit verschiedenen Parametern erstellst und sie durch die Vergleichsfunktion laufen lässt.
Avatar von 2,9 k

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community