Python打印m到n范围以内的素数,要有异常处理,一行只能输出8个,包括while True 循环和try循环
时间: 2024-02-25 17:59:24 浏览: 69
以下是代码实现:
```python
while True:
try:
m, n = map(int, input().split())
count = 0
i = m
while i <= n:
for j in range(2, int(i ** 0.5) + 1):
if i % j == 0:
break
else:
print(i, end=' ')
count += 1
if count % 8 == 0:
print()
i += 1
print()
except ValueError:
print('输入有误,请重新输入:')
except:
print('未知错误,请重新输入:')
```
解释:
- 在 `while True` 循环中不断接收用户输入,如果输入不合法,会抛出异常。
- 通过 `try-except` 进行异常处理,如果输入不合法,则输出相应的提示信息,并进入下一次循环。
- 如果输入合法,则执行代码块中的内容。
- 在代码块中,通过 `while` 循环遍历从 `m` 到 `n` 范围内的所有数。
- 判断每个数是否为素数,如果是,则输出该数,并将计数器 `count` 加 1。
- 如果 `count` 的值是 8 的倍数,则输出换行符,以实现一行只输出 8 个素数。
- 最后输出一个空行,以便下一次输入。
阅读全文