Python打印m到n范围以内的素数,要有异常处理,一行只能输出8个,包括while 循环和try循环
时间: 2024-02-25 08:59:24 浏览: 78
以下是代码实现:
```python
m, n = map(int, input().split())
count = 0
i = m
while i <= n:
try:
# 判断是否为质数
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
except:
print('输入有误')
```
解释:
- 首先通过 `map(int, input().split())` 获取用户输入的范围 `m` 和 `n`,并转换为整数类型。
- 然后定义计数器 `count`,用于统计输出的素数个数。
- 初始化循环变量 `i` 为 `m`,开始循环。
- 在循环中,通过 `try` 和 `except` 进行异常处理,以防止用户输入非数字类型的数据。
- 判断 `i` 是否为质数,如果是,则输出该数,并将计数器 `count` 加 1。
- 如果 `count` 的值是 8 的倍数,则输出换行符,以实现一行只输出 8 个素数。
- 最后将循环变量 `i` 加 1,继续循环,直到 `i` 大于 `n`。
阅读全文