Python programozás. Tudna segíteni valaki?
A következőt szeretném végrehajtani:
A scriptemben jön egy input mező, és azt szeretném, hogy egy bizonyos szónál mást írjon ki, mint a többinél. A baj csak az, hogy szeretném ha azt a szót mindenhogy elfogadná, akkor is ha véletlenül nagybetűvel írom be.
Ezt így nehéz megérteni, ugye? Prezentálom:
Megpróbáltam használni az "or"-t, de nem sikerült.
a = (input(">>>"))
if a == "gyakorikerdesek" or "Gyakorikerdesek" or "GYAKORIKERDESEK": #stb.
print("Te a gyakorikérdéseket írtad be.")
else:
print("Te azt írtad be, hogy ", end="")
print(a, end = "")
print(".")
Csakhogy ez nem működik. Van ötletetek, hogyan tudnám ezt megoldani?
Kicsit finomítva (megfelelő indentálással persze ;) ):
a = raw_input(">>>")
if a == "gyakorikerdesek" or a == "Gyakorikerdesek" or a == "GYAKORIKERDESEK": #stb.
print("Te a gyakorikérdéseket írtad be.")
else:
print("Te azt írtad be, hogy %s."%(a))
1. Az input helyett használj inkább raw_input-tot
2. A feltételnél azt vizsgáljuk, hogy az a változó értéke egyenlő-e a "gyakorikerdesek", "Gyakorikerdesek", vagy a "GYAKORIKERDESEK" sztringgel, nem azt, hogy a "GYAKORIKERDESEK" igaz-e.
3. Három print helyett elegendő egy is.
Utolsó:
Python 3-at használok, abban már nincs raw_input, ha jól tudom.
Mellesleg úgy sem akar működni, ahogy te mondtad. Hiába írom az or-ok után hogy a==, semmi sem történik, de azért köszi :)
Egyéb ötlet?
"Python 3-at használok, abban már nincs raw_input, ha jól tudom."
Ott maradhat az input.
"Mellesleg úgy sem akar működni, ahogy te mondtad."
Nálam (Ubuntu 12.04) Python 3.2.3 alatt megy. Nálad milyen hibaüzenetet ír ki?
Az indentálásokra vigyázz!
"Hiába írom az or-ok után hogy a==,"
Pedig be kell írni, mert úgy a feltétel mindig teljesül.
Az alábbi példában (persze megfelelően indentálva):
if "gyakorikerdesek":
print ("gyakorikerdesek")
else:
print ("nem gyakorikerdesek")
mindig azt írja ki, hogy gyakorikerdesek - mert a sztringet logikai igazzá alakítja.
A legutóbbira példa:
>>> bool("gyakorikerdesek")
True
Furcsa a dolog. Felsoroltam azokat, hogy:
gyakorikerdesek, Gyakorikerdesek, GYAKORIKERDESEK, gyakorikerdesek., Gyakorikerdesek., GYAKORIKERDESEK., gyakorikerdesek!, Gyakorikerdesek!, GYAKORIKERDESEK!,
és ezek közül csak azokat nem fogadja el, ami csupa nagybetűből áll. Miért?
Kapcsolódó 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!