if-satser faktura
Hej!
Jag förstår inte varför jag får fel svar för print() när jag kör programmet.
Jag borde få "Fakturabetalning beviljad" som svar.
Jag tror inte ditt sista villkor, (kreditanmarkningar == ja or JA or Ja) gör vad du tror det gör. Ett sätt att få det att göra vad du vill att det ska göra är att skriva (kreditanmarkningar in [ja, JA, Ja]). Eller kanske ännu enklare (kreditanmarkningar.lower() == ja) för att konvertera texten till små bokstäver och slippa hantera alla olika fall
Detta gäller även raden under i fallet med nej.
Här har du problemet!
Om du testar en sträng med if i python så kommer alla som inte är tomma att returnera True. Under huven så körs strängen genom funktionen bool(), som returnerar True eller False.
print( bool('nej') )
print( bool('ja') )
print( bool('') )
True
True
False
** Process exited - Return Code: 0 **
Press Enter to exit terminal
Ditt test kortsluts alltså och ser i praktiken ut så här:
if ... or (kreditanmarkningar == 'ja' or True or True):
Det kommer förstås alltid att vara sant.