Kezdőoldal » Számítástechnika » Programozás » Phytonban programozok és kéne...

Phytonban programozok és kéne egy kis segítség. Valaki tud segíteni ezen?

Figyelt kérdés

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!')



2015. ápr. 20. 18:17
 1/3 anonim ***** válasza:
""
2015. ápr. 20. 18:26
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:

Á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:

[link]


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.

2015. ápr. 20. 19:18
Hasznos számodra ez a válasz?
 3/3 A kérdező kommentje:
Köszönöm a válaszokat! Nagyon sokat segítettetek!
2015. ápr. 20. 20:07

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!