Du tror svar == "ja" or "Ja" sammenligner begge

Handler om: Boolsk uttrykk, Streng (tekst)

svar == "ja" or "Ja" leses som (svar == "ja") or "Ja". En tekst som ikke er tom regnes som sann, så betingelsen er alltid sann. Hver side av or må være en hel sammenligning.

Eksempel

Programmet sier «Velkommen!» uansett hva brukeren svarer.

Slik tenker du riktig om det

Les hver side av or for seg: er "Ja" alene sant? Skriv hele sammenligningen på begge sider, eller gjør teksten om først: svar.strip().lower() == "ja".

Slik ser det ut i kode

Slik gikk det galt

if svar == "ja" or "Ja":   # alltid sant

Slik fikser du det

if svar.strip().lower() == "ja":

Les om dette i boka

↓↑ naviger Enter åpne ShiftEnter ny fane Esc lukk
Velg tema
Skala