inputValidator使用while循环

时间:2015-01-13 04:59:31

标签: python while-loop user-input jython jes

如果有人有python / jython知识,我想更好地理解我的代码,我很乐意听。

这是我的代码(见下文)。 我的结果是实现循环并保持程序运行,而不是每次用户输入错误输入时重新启动程序。

程序现在循环成功但只在输入正确的输入后显示错误信息,有人可以指向正确的方向吗?在此先感谢:)

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

1 个答案:

答案 0 :(得分: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

另外,我不确定你是否知道“try”语句,但它只是阻止程序崩溃。您还可以更改文本以使其看起来更好!希望这可以帮助! :)

PS:我认为您只是复制并粘贴了该代码,以便将来参考,使用“Ctrl + K”正确,轻松地格式化它或只有4个以上的空格! ;)