Ich habe in meinem Python-Code einen Berechnungsfehler gemacht, bin mir aber nicht sicher, was das verursacht hat. Ich denke, es könnte daran liegen, zwei "und" Operatoren in meiner if-Anweisung zu haben, aber ich wollte auf Stack Overflow nachfragen. HierBerechnungsfehler in CodingBat Übung
ist die Frage:
Gegeben 2 int Werte, return true, wenn man negativ ist und man ist positiv. Außer wenn der Parameter "negativ" True ist, dann gebe nur dann True zurück, wenn beide negativ sind.
Hier ist mein Code:
def pos_neg(a, b, negative):
if a < 0 and b > 0 and negative = False:
return True
elif a > 0 and b < 0 and negative = False:
return True
elif a < 0 and b < 0 and negative = True:
return True
Hier ist die richtige Antwort ist:
def pos_neg(a, b, negative):
if negative:
return (a < 0 and b < 0)
else:
return ((a < 0 and b > 0) or (a > 0 and b < 0))
Vielen Dank für Ihre Zeit.
Ihr Problem ist, dass Sie eine Zuweisung '=' verwenden, wo Sie eine Gleichheitsprüfung '==' verwenden sollten (außer Sie sollten dies auch nicht explizit tun) – Tagc
Sie müssen '==' für die Prüfung verwenden, wenn Dinge sind gleich, ** nicht ** '=' – Lagerbaer
Sie geben auch keinen booleschen Wert für jeden Fall zurück (was passiert, wenn 'a'> 0,' b'> 0 und 'negativ' ist wahr?) – Tagc