用python编写一个多线程程序,以输出素数。这个程序工作如下:用户运行这个程序,并将在命令行上输入一个数字。该程序将创建一个单独线程,输出小于或等于用户输入数字的所有素数。
时间: 2024-05-05 20:16:24 浏览: 94
以下是一个用Python编写的多线程程序,可以输出小于或等于用户输入数字的所有素数:
```python
import threading
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
def print_primes(n):
for i in range(2, n+1):
if is_prime(i):
print(i)
if __name__ == '__main__':
num = int(input("请输入一个数字:"))
t = threading.Thread(target=print_primes, args=(num,))
t.start()
t.join()
```
首先定义了一个`is_prime`函数,用于判断一个数是否为素数。然后定义了一个`print_primes`函数,用于输出小于或等于给定数字的所有素数。
在主函数中,首先要求用户输入一个数字。然后创建一个新线程,将`print_primes`函数作为线程的target,将用户输入的数字作为参数传递给该函数。最后启动线程并等待其完成。
阅读全文