Mit rontottam el a Python-ban?
1. sor: answer = input("Do you want us to proceed? ")
2. sor: print("Great to hear that!") if answer == "Yes" or "yes" else print("Thank you for playing.")
Ez kétsorban van, cska ide nem tudom most úgy bemásolni.
Miért adja mindig azt, hogy "Great to hear that!"?
Mert nincs egyenlőség vizsgálat a második feltételnél, így az mindig igaz lesz (igaz lesz mert "yes" az string, és nem boolean false)
if answer == "Yes" or answer == "yes"
De ott string-ként várom el, hogy yes-t írjon a csávó.
Ha pedig nem akarja folytatni akkor pl Nope.
#1-es jól írta. Két feltételt írtál 'vagy' kapcsolatban:
answer == "Yes" or
"yes"
Ebből a "yes" mindig igaz lesz. Úgy írd, ahogy #1-es írta, és akkor így néz ki:
answer == "Yes" or
answer == "yes"
Vagy egy kicsit leegyszerűsítve:
answer.lower() == "yes"
Oké. És hogy értitek, hogy a válasz mindig "yes" lesz? Mármint az "or" után?
Miért fogja fel mindig yes-nek a Python?
Köszi egyébként a válaszokat.
#6: Mert a karakterlánc logikai értékké alakítva True, vagyis igaz.
Itt egy szemléltető példa:
Az OR-al és AND-el feltételeket választasz el nem pedig lehetségesen elfogadott értékeket, ezt értetted félre amikor írtad az IFet.
változó == "Yes" egy feltétel
OR
változó == "yes" a másik feltétel
a te kérdésednél kb így fut le:
változó == "Yes" - visszaad mondjuk false-t, nem igaz, nézi kövi feltételt
OR
"yes" - mindig igaz, mert ez csak egy nem üres karakterlánc, tehát nem false, hanem true
A logikai műveletek hasonlóak a sima összeadáshoz vagy szorzáshoz, stb. Például:
a * x + b * x
A szorzást kell előbb elvégezni, és utána az összeadást: (a*x) + (b*x)
A logikai kifejezés kiértékelése is hasonló:
x == 1 or y == 2
Először megnézi az egyenlőségeket, ezek eredménye egy-egy logikai érték lesz, például:
x == 1 : hamis
y == 2 : igaz
Utána jön a vagy kapcsolat: hamis vagy igaz.
Ehelyett ilyesmit írtál be:
x == 1 or 2
Ebből ez lesz: igaz or 2, márpedig a nem nulla jellegű értékek (pl. nem üres string) igaznak számítanak, vagyis: hamis vagy igaz. Ennek az értéke pedig: igaz.
hamis vagy hamis = hamis
hamis vagy igaz = igaz
igaz vagy hamis = igaz
igaz vagy igaz = igaz
További kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!