3 svar
188 visningar
Dcbest01 behöver inte mer hjälp
Dcbest01 66
Postad: 12 sep 2019 15:50 Redigerad: 12 sep 2019 15:51

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")

Laguna Online 30711
Postad: 12 sep 2019 16:11

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). 

Dcbest01 66
Postad: 12 sep 2019 16:43

Tack så jättemycket det funkar nu :D

Affe Jkpg 6630
Postad: 12 sep 2019 16:56

Ö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.

Svara
Close