2015-01-13 3 views
0

Мне хотелось лучше понять мой код, если бы кто-то имел знание python/jython, хотел бы слушать.inputValidator с помощью цикла while

Это мой код (см. Ниже). Мой результат состоял в том, чтобы достичь цикла и поддерживать работу программы, а не перезапускать программу каждый раз, когда пользователь вводил неправильный ввод.

Программа теперь успешно завершена, но отображает сообщение об ошибке после ввода правильного ввода, может ли кто-нибудь указать мне в правильном направлении? Заранее спасибо :)

def inputValidator(): 

while True: 
num = requestInteger("Please give me a number between 50 and 112") 

if num > 50 and num < 112: 
print "Successful Login" 
break 
elif num < 50: 
print "Error! Please input a number more than 50 you entered", num 
elif num > 112: 
    print "Error! Please input a number less than 112 you entered", num 
+0

Пожалуйста, отредактируйте свой Q, чтобы иметь правильные отступы - он не читается, поскольку он стоит! –

+0

Извините, если я сказал или добавил что-то, что не является протоколом, это мой первый вопрос к stackoverflow, поэтому извиняйтесь заранее за «noobiness» хе. – TheEnierlater

+1

Ничего о протоколе, это то, что ** отступы ** все сломаны - ** пожалуйста ** отредактируйте свой Q, чтобы исправить это !!! –

ответ

1

Так что, если я понять ваш вопрос правильно, я предполагаю, что вы просто пытаетесь получить пользователю ввести число в диапазоне от 50 до 112?

Он должен выглядеть примерно так, а отступы очень важны!

def inputValidator(): 
    while True: 
     try: 
      number=int(raw_input("Enter a number between 50 and 112! >>> ")) ## Makes input an integer 
      if (number > 50) and (number < 112): ## Checks if number is between 50 and 112 
       print "Number accepted!" 
       break 
      else: 
       continue 
     except: 
      print "Please enter a number!" 
    return number   ## Returns input number 

Кроме того, я не уверен, что вы знаете о высказываниях «попробуйте», но это просто предотвращает сбой программы. И вы также можете изменить текст, чтобы он выглядел лучше! Надеюсь это поможет! :)

PS: Я предполагаю, что вы только что скопировали и вставили этот код, поэтому для справки в будущем используйте «Ctrl + K», чтобы правильно и легко форматировать его или просто 4+ пространства! ;)

+0

Спасибо за сообщение! Это было полезно :) – TheEnierlater

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