在while循环中打印,清除先前的迭代打印

时间:2016-08-15 07:10:58

标签: validation input while-loop python-3.5

我有以下代码:

 print("Hi there!")
 def inputyournumber():
     while True:
          num = input("your number is?:")
          if int(num) <100:
               break
     return

输出结果为:

 Hi there!
 your number is?: 101
 your number is?: 1002
 your number is?: 100
 your number is?: 99

我只想要初始打印:和最终输出,直到输入正确的输入:

Hi there!
your number is?: 99

删除最初错误的输入,但在循环之前保留打印件。可能吗?或者我必须重印它们吗?我只是清除所有内容然后重新打印先前的文本以及正确的输入的问题是它可能会花费更多的时间来处理具有类似问题的更复杂的代码部分。

1 个答案:

答案 0 :(得分:0)

您的意思是它只打印出您输入的数字为100时输入的数字吗?

首先,您获得的输入将是一个字符串,因此比较不会起作用。

也许这就是你想要的?

def printnum():
    while True:
        print('Hi there!')
        num = input("your number is: ")
        if num != '100':
            continue
        break
    print(num)
printnum()