2012-02-01 6 views
0

У меня возникла ситуация.Проверьте тип ввода пользователя с известным типом

Я использую wx.textctrl, где пользователю нужно только ввести число (только целые положительные числа). Я хочу проверить, что пользователь ввел. Если он вступил в строку, я хочу сделать что-то вроде этого:

if type(user_input) == str: 
    # do something 

Или

if type(user_input) != int:    
    # do something 

Реальная программа выглядит как

ROW = self.Rownum.GetValue() 

Я хочу, чтобы проверить тип этого ROW против строки или целого числа. Или лучше, если я могу заставить поле textctrl принимать только целые числа в диапазоне , предположим, например, от 1 до 10000.

+0

У меня есть решение. Но это дешевый трюк. >>> я = 10 >>> если тип (я) == тип (10): \t печать "Да" еще: печать "нет" Да –

ответ

1

Вы можете попробовать разобрать пользовательский ввод, а затем исключить любые возникающие ошибки.

try: 
    user_input = int(user_input) 
except ValueError: 
    pass 

if type(user_input) == str: 
    do something 
Смежные вопросы