Ich vor kurzem eingereicht diese Hausaufgabe, konnte aber nicht den Code der beiden Probleme arbeiten. Ich würde gerne wissen, was ich hätte tun können, um sicherzustellen, dass ich es das nächste Mal richtig mache.Kann nicht eine Ausgabe Python Klassen und Funktionen Code
Frage 1 (5 Punkte) Erstellen Sie eine Basis/Elternklasse namens 'InterestCalculator'. Erstellen Sie eine Kindklasse namens "CICalculator". Die Klasse 'CICalculator' hat nur einen Elternteil, den 'InterestCalculator'. Erstellen Sie eine Kindklasse namens "SICalculator". Die Klasse "SI" wird nur einen Elternteil haben, den "InterestCalculator". Die Elternklasse muss eine init Methode haben, die alle Werte initialisiert, die für die Berechnung und Speicherung von Zinsen benötigt werden.
Die untergeordnete Klasse 'CICalculator' und 'SICalculator' müssen die Methode 'calcfinalval' implementieren, die den endgültigen Wert für jeden Fall berechnet.
Zinseszins ist gegeben durch A = p * (1+ (r/(n * 100)))^(n * t) wobei p die Hauptmenge, r die Zinsrate und t die Zeit in ist Jahre und n ist die Anzahl der jährlichen Zinserhöhungen und A ist der Gesamtbetrag nach t Jahren. sei angenommen, n = 2.
Einfache Interesse von einem A = P (1 + (r * t/100) gegeben ist, wobei p die Haupt, r der Zinssatz ist und t die Zeit in Jahren, und A die Gesamtmenge nach t Jahren.
nachdem alle Klassen definiert, um den Anruf des Endwert zu berechnen und drucken müssen Sie den Code unten folgen.
c = CICalculator(2,0.1,1000)
c.calcfinalval()
print c.finalval
s = SICalculator(2,0.1,1000)
s.calcfinalval()
print s.finalval
# Lösung 1
class InterestCalculator:
def __init__(self, A, p, r, y, t):
self.A = A
self.p = p
self.r = r
self.y = y
self.t = t
def calcfinalval(self):
return "Interest Rates"
class CICalculator(InterestCalculator):
def __init__(self, A, p, r, y, t):
self.A = self.p*(1+(self.r/(self.t*100)))^(self.t*self.y)
class SICalculator(InterestCalculator):
def __init__(self, A, p, r, y):
self.A = self.p(1+(self.r*self.y/100)
c = CICalculator(2,0.1,1000)
c.calcfinalval()
print c.finalval
s = SICalculator(2,0.1,1000)
s.calcfinalval()
print s.finalval
Frage 2 (5 Punkte) Eine Warteschlange folgt FIFO (first-in, first-out). FIFO ist der Fall, in dem das erste hinzugefügte Element das erste Element ist, das abgerufen werden kann. Betrachten Sie eine Liste mit Werten [1,2,3]. Erstellen Sie eine Klasse namens MyQueue, die zwei Methoden aufweist: queueadd und queueretrieve, um Elemente aus der Liste in FIFO-Reihenfolge hinzuzufügen bzw. abzurufen. Nach jedem Funktionsaufruf drucken Sie den Inhalt der Liste. Fügen Sie der Warteschlange 7 hinzu und folgen Sie dann den FIFO-Regeln , um ein Element abzurufen.
zur Klasse Ihr Anruf wird wie folgt sein auf a = [1,2,3] q = myQueue (a) q.queueadd (7) q.queueretrieve()
Das Ausgangs der Bildschirm sollte ähnlich wie
1 2 3 7
2 3 7
3 7
7
# Lösung 2
class MyQueue:
def __init__(self):
self.in_stack = []
self.out_stack = []
def queueadd(self, obj):
self.in_stack.append(obj)
def queueretrieve(self):
if not self.out_stack:
while self.in_stack:
self.out_stack.append(self.in_stack.pop())
return self.out_stack.pop()
a = [1,2,3]
q = MyQueue(a)
q.queueadd(7)
q.queueretrieve()
Haben Sie Ihren Code getestet? Es gibt viele Fehler. Ich würde vermuten, dass ein Moderator bald kommen und Ihre Frage als zu weit schließen wird. Ich würde empfehlen, den Code zu testen, die Fehlermeldungen zu lesen, sie entsprechend zu modifizieren und dann - wenn Sie es immer noch nicht herausfinden - 1 * spezifische * Frage zu stellen (dh nicht die vollständige Hausaufgabenfrage) – Tom