2015-03-10 3 views
1

Я борюсь с моим кодом - может sb помочь? почему он не печатает «Недопустимый ввод», когда я запускаю его в Python и вводим что-то еще, чем целое число?Python - простая программа для проверки ввода

В основном программа должна работать в бесконечном цикле, пока мы не введем «сделано». поэтому даже после исключения, он должен все же запрашивать ввод номера.

largest = None 
smallest = None 
while True: 
    num = raw_input("Enter a number: ") 
    try: 
     if num == "done" : 
      print "Maximum is", largest 
      print "Minimum is", smallest 
      exit 
     if largest is None: 
      largest = num 
     elif largest < num: 
      largest = num 
     if smallest is None: 
      smallest = num 
     elif smallest > num: 
      smallest = num 
    except int(num) == -1: 
     print "Invalid input" 
     continue 
+0

Какова цель программы? добавление чисел в список и поиск самого большого и наименьшего числа? – letsc

+0

Что заставляет вас думать, что код в блоке try когда-нибудь вызовет исключение? –

+0

Если вы хотите, чтобы пользователь вводил Integer, я бы попробовал 'int (num)' на нем. – MikeVaughan

ответ

0
largest = None 
smallest = None 
try: 
    num = raw_input("Enter a number: ") 
    x = int(num, base = 10) 
except: 
    print "Invalid input" 

while num != "done":  
    try: 
    num = raw_input("Enter a number: ") 
    x = int(num, base = 10) 
    except: 
     print "Invalid input" 
     continue 

    if largest is None: 
     largest = num 
    elif largest < num: 
     largest = num 
    if smallest is None: 
     smallest = num 
    elif smallest > num: 
     smallest = num 
print "Maximum is", largest 
print "Minimum is", smallest 
exit