2016-06-29 5 views
-2
print "HEllo !!" 
print "Today, I will calculate something for you !!"#introduces itself 
inp = True 
def start(): 
    print "type 1 for ADDITION" 
    print "type 2 for SUBTRACTION" 
    print "type 3 for MULTIPLICATION"  #asks for the kind of calculation 
    print "type 4 for DIVISION" 
    press=int(raw_input()) 
    if press >= 5 : 
      print "Choose a NUMBER which is less than 5 and you will get the answer!!" 
      print "-------------------------------" 
    if press == 1: 
     print "Enter your first number" 
     num1 = input() 
     print "enter your second number"   #adds 
     num2 = input() 
     result = num1 + num2 
     print " Your answer is "+ str(result) 
     print "-------------------------------" 
    if press == 2 : 
     print "Enter your first number" 
     num1 = input() 
     print "enter your second number"   #subtracts  
     num2 = input() 
     result = num1 - num2 
     print " Your answer is "+ str(result) 
     print "-------------------------------" 
    if press == 3: 
     print "Enter your first number" 
     num1 = input() 
     print "enter your second number" 
     num2 = input()        #multiplies    
     result = num1 * num2 
     print " Your answer is "+ str(result) 
     print "-------------------------------" 
    if press == 4: 
     print "Enter your first number" 
     num1 = input()        #divides 
     print "enter your second number" 
     num2 = input() 
     result = num1/num2 
     print " Your answer is "+ str(result) 
     print "-------------------------------" 
while inp : 
    start() 

Итак, я создал этот калькулятор, используя основные команды, и единственная проблема заключается в том, что кто-то печатает в письме, где он запрашивает число от 1 до 4, он показывает ошибку python. Вместо этого я хочу иметь возможность печатать пользовательскую ошибку типа «только номер разрешен» или что-то подобное вместо обычной ошибки, отображаемой на python. Какое изменение я могу сделать, чтобы оно принимало цифры и алфавиты, но показывает пользовательскую ошибку, когда кто-то вводит письмо? P.S. : Я прошу для вар «пресса», а не о «num1» или «num2»python: Как взять буквы?

+0

P.S. : Я прошу var «press», а не «num1» или «num2», и это не дубликат. Подобный вопрос слишком отличается от того, что я прошу. Повторите попытку и снова откройте его. – Ashok

ответ

3

Вы можете сделать:

num1 = None 
while num1 is None: 
    try: 
     num1 = int(num1) 
    except ValueError: 
     print "ERROR: Invalid Input"   

Это попытка бросить вход в целое число. Если это не удастся сделать, тогда код в разделе «except» будет запущен.

+0

Нет, это не сработает, потому что к тому моменту, когда вы сможете проверить это, исключение будет уже выбрано. Кроме того, голые исключения являются супер опасными. В этом случае вы должны использовать самые строгие, за исключением, возможно, 'ValueError'. –

+0

Я прошу var «press», а не о «num1» или «num2», и это не дубликат. – Ashok

+0

Та же логика может применяться к переменной пресса. – mrwyatt

0

Вы можете использовать str.isdigit(), чтобы проверить, содержит ли строка только числа, возвращает true, если это так, и false, если строка содержит любые символы без номера.

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