Kezdőoldal » Számítástechnika » Programozás » Python programozás. Tudna...

Python programozás. Tudna segíteni valaki?

Figyelt kérdés

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?


2013. okt. 27. 13:36
1 2
 1/12 anonim ***** válasza:

de ember..


az or mit csinál?

2013. okt. 27. 13:43
Hasznos számodra ez a válasz?
 2/12 anonim ***** válasza:

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.

2013. okt. 27. 14:15
Hasznos számodra ez a válasz?
 3/12 A kérdező kommentje:

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?

2013. okt. 27. 14:38
 4/12 anonim ***** válasza:

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

2013. okt. 27. 15:04
Hasznos számodra ez a válasz?
 5/12 anonim ***** válasza:

A legutóbbira példa:

>>> bool("gyakorikerdesek")

True

2013. okt. 27. 15:06
Hasznos számodra ez a válasz?
 6/12 A kérdező kommentje:
Sikerült! Köszi szépen :)
2013. okt. 27. 16:54
 7/12 A kérdező kommentje:
Nem, mégsem O.o
2013. okt. 27. 16:58
 8/12 A kérdező kommentje:

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?

2013. okt. 27. 17:02
 9/12 A kérdező kommentje:
Bocs a spamért, végül is sikerült. A két " közé becsúszott egy ' is.
2013. okt. 27. 17:32
 10/12 anonim ***** válasza:
100%
Ezerszer szebb hogyha a vizsgálat előtt kisbetűkké alakítod a szöveget.
2013. okt. 27. 18:12
Hasznos számodra ez a válasz?
1 2

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!