印刷在while循环,清除之前的迭代打印

问题描述:

我有以下代码:印刷在while循环,清除之前的迭代打印

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 

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

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

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

首先,你得到的输入将是一个字符串,所以比较不起作用。

也许这就是你想要的?

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

同意,比较不会工作我最初的方式。当输入的值不小于100时,我想删除所有的时间(请参阅编辑版本),同时保留在函数inputyournumber()之前打印的消息。 –