2013-12-15 3 views
2

Вопрос типа объясняет это. Я думал, что это будет что-то вроде:Могу ли я установить переменную ни к чему?

x = None 
if sUserInt == x: 
    #do stuff here 

Я использую его, чтобы проверить, если пользователь просто толкнул войти и поставить ничего вовсе. Спасибо!

+1

Ваш вход не будет ничем; это будет пустая строка. Это может показаться ничем, но они такие же разные, как «1» и «1». – user2357112

ответ

2

Во-первых, вы не должны определить новую переменную только сравните его значение. Таким образом, вместо

x = None 
if sUserInt == x: 
    #do stuff here 

Вы могли бы написать

if sUserInt == None: 
    #do stuff here 

Однако в случае None, вы можете использовать implicit checking переменной не является None:

if not sUserInt: 
    #do stuff here 

И, наконец, все эти вам все равно не поможет, потому что просто нажатие ввода на raw_input() не даст вам None, а пустую строку ('').

Так используйте:

if sUserInt == '': 
     #do stuff here 

или проверить длину входного

if len(sUserInt) == 0: 
     #do stuff here 

или использовать неявную строку снова проверить:

if not sUserInt: 
     #do stuff here 

Все три последние решения означают в основном то же самое.

+0

Вы использовали неявное ложное значение для 'None', но не' '' '? – user2357112

+0

Вы были быстрее :) Только что отредактировал. – leeladam

2

Вместо использования: использование

if not sUserInt: 
    #do something here 

Пример:

sUserInt = raw_input() 
if not sUserInt: 
    print "Nothing Entered" 

Если ничего не было введено было бы напечатать Nothing Entered

+0

Обратите внимание, что sUserInt является пустой строкой (''), а не None в этом случае. Однако неявная проверка пустоты по-прежнему работает для строк. – leeladam

Смежные вопросы