程序执行期间无法打印整数

Unable to print integer during program execution

我正在尝试将一个数字输入到列表中,其中每个元素只有一个数字,并且之前输入的数字显示在同一行上。像这样;

输出

Enter any 4-digit number
>1234

问题是,在实时中,程序不会在输入数字后立即打印出来。

只有在整个程序完成后,才会打印整个列表。

import msvcrt

digit = []

print("Enter any 4-digit number\n>", end = "")
for i in range(4):
    n = int(msvcrt.getch()) #input 1234
    digit.append(n)
    print(n, end = "")

编辑

print(n, end = "")
print(n, end = "", flush = True)

您可以使用以下代码执行此操作:

digits = input()
if (len(digits) == 4 and digits.isdigit()):
    print(digits)
    listOfDigits = list(digits) # if you need the array for future use
else:
    print("Invalid input") 

将 flush = True 添加到最后一个 print() 函数。

print(n, end = "")
print(n, end = "", flush = True)