if satser
Uppgift: "Skriv ett villkor som är sant om antingen det ena eller det andra av två vilkorsuttryck är sant, men INTE om båda är sanna."
Har försökt men kan verkligen inte
mitt försök är detta:
a = 2
b = 3
c = 4
if a < b or b < c and not a < b and b < c:
print("antingen är a mindre än b eller b mindre än c")
Din idé fungerar nog, men det blir fel för att du inte använder parenteser. and går före or, precis som * går före +. Och not före de andra.
Det du skriver är samma sak som
a < b or (b < c and (not a < b) and b < c)
medan du kanske menar
(a < b or b < c) and not (a < b and b < c).
Tack så jättemycket det funkar nu :D
Överkurs:
Om man beskriver uppgiften i t.ex. en sanningstabell, så kan kan man se att uppgiften beskriver "exklusiv OR":
https://sv.wikipedia.org/wiki/Exklusiv_disjunktion
Phyton erbjuder då alternativa (elegantare?) lösningar.