Phytonban programozok és kéne egy kis segítség. Valaki tud segíteni ezen?
Van egy 'a' változóm, egy raw_input. Azt szeretném kérdezni, hogy azt, hogy lehet beprogramozni, hogyha a raw_inputra
az 'a' változóra a felhasználó semmit nem ír be akkor ki dobjon egy szöveget? A kód így néz ki:
a=raw_input('név: ')
if a==(itt van az amit nem tudom hogy írjak be: semmi)
print('kérem adja meg a nevét!')
raise SystemExit
else:
print('szép név!')
Általánosan ha egy objektum értéke 0 vagy None, vagy pedig a hossza 0, akkor a boolean értéke False is egyben. Ezt felül lehet definiálni a __nonzero__ metódussal:
Mivel az esetedben a string hossza 0, lehet így tesztelni:
a=raw_input('név: ')
if not a:
print('kérem adja meg a nevét!')
raise SystemExit
else:
print('szép név!')
De vigyázz, ha egy szóközt adnak be akkor ez már nem fog működni, ahogy az sem amit az első válaszoló írt!
Ezt megkerülve, először el kell tüntetni a "whitespace"-eket (szóközöket és egyéb "láthatatlan" karaktereket) a strip() függvénnyel:
a=raw_input('név: ')
if not a.strip():
print('kérem adja meg a nevét!')
raise SystemExit
else:
print('szép név!')
PEP 8-ból idézve:
"For sequences, (strings, lists, tuples), use the fact that empty sequences are false."
Azaz ne a hosszát vagy tartalmát teszteld hanem a boolean értéket.
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!