【发布时间】:2020-01-02 20:31:42
【问题描述】:
我正在创建一个质数查找脚本,我想打印当前活跃的数字。
def is_divisible(number: int, dividor: int) -> bool:
float_number = number / dividor
if float_number.is_integer():
return True
return False
def is_prime(number: int) -> bool:
"""
Returns a bool, whether the a number is a prime.
:param number: number
:return: bool (True if it is a prime, False if it's not a prime)
"""
tmp_numbers = set()
for i in range(2, number):
if any(is_divisible(i, n) for n in tmp_numbers):
continue
if is_divisible(number, i):
return False
tmp_numbers.add(i)
return True
number = 99999999
for i in range(2, 90000):
print("checking {}".format(i), end="\r")
if is_prime(i) and is_prime(i + 4) and is_prime(i + 8):
print(i)
当我终止脚本时,我可以看到该行(“正在检查...”),但在执行时我看不到它。
【问题讨论】:
-
如果您使用的是 windows 这很正常,因为 cmd 只打印以新行结尾的字符串。它应该在linux上工作。我不了解 macOS
-
我正在使用 Pycharm IDE。这有什么不同吗?
-
你用的是什么操作系统?
-
Windows 10 64 位
-
@AndreaOggioni,cmd.exe 与 Python 的控制台或一般的控制台没有直接关系。在这方面,cmd.exe 与 python.exe 或任何其他控制台应用程序没有什么不同。控制台由 conhost.exe 的一个实例托管,该实例由连接到它的所有进程共享。
标签: python windows printing carriage-return line-endings