das ich habe folgendes Problem mit meinem Code eine Ausnahme bei der Propagierung:Problem mit Exception Handling in Python
Was sollte der Code tun:
Es dauert einen Eingang für Nummer eines von Kombinationen oder Testfällen ausgeführt werden.
Es dauert n = Nummer und seine Macht = p. (d. h.)
Wenn p und n positiv sind, muss sie 2^3 = 8
drucken und zurückgeben - das funktioniert.
Wenn entweder n oder p negativ ist, muss gedruckt werden "n und p sollte nicht negativ sein" - das funktioniert nicht.
Mein Code:
class Calculator():
def power(self,n,p):
self.n=n
self.p=p
try:
raise NameError("n and p should be non-negative")
except NameError:
a=pow(n,p)
return a
myCalculator=Calculator()
T=int(raw_input())
for i in range(T):
n,p = map(int, raw_input().split())
try:
ans=myCalculator.power(n,p)
print ans
except Exception,e:
print e
Eingang gegeben
4
3 5
2 4
-1 -2
-1 3
Ausgabe erhalten:
243
16
1.0
-1
Aber ich Shou ld habe "n und p sollte nicht negativ sein" für den 3. und 4. Testfall erhalten, da in den letzten beiden Testfällen (Testfall Nummer 3 und 4) einer der beiden Werte negativ war.
Was ist los?
Sie testen nicht wirklich für die Werte, um positiv zu sein. – L3viathan