2012-03-28 11 views

cevap

13

bir SyntaxError yükseltmek çünkü hiçbir şey ikincisinde girildiği takdirde Bilirsin. Ardından tercihen

# not just 'if y:' because 0 evaluates to False! 
if y is None: 

test etmek veya

try: 
    y=input('Number>> ') 
except SyntaxError: 
    y = None 

raw_input kullanın:: Böyle hatayı yakalamak ilki için

try: 
    y = int(raw_input('Number>> ')) 
except ValueError: 
    print "That wasn't a number!" 

, x boş bir dize ise olacak hiçbir şey girilmedi. str numaralı çağrıya gereksizdir - raw_input zaten bir dize döndürür. Boş dizeleri açıkça test edilebilir:

if x == '': 

veya dolaylı:

if x: 

sadece False dizedir ve boş dize çünkü.

+1

Veya "if x.strip():" ifadesini kullanın. Eğer birisi sadece boşluk girmişse, o zaman ... – hochl

+0

@hochl Sadece boşluklar geçerli bir mesaj değilse :) – agf

+0

Mükemmel! Cevabın agf ve hochl için çok teşekkür ederim. :) –

0

Bu aynı zamanda bir şey girilene kadar giriş fonksiyonu döndürmez çok

y = input('Number>> ') 
while not y: 
    y = input('Number>> ') 
İlgili konular