编写程序,从键盘输入一个正整数,要求检查该数是否为大于 1 的正 整数,如果是则判断并输出该数是否为素数,如果不是大于 1 的正整数就输 出“该数无效”
时间: 2024-10-17 09:11:05 浏览: 51
编写程序可以分为以下几个步骤:
1. 首先,获取用户的输入,通过 `input` 函数从键盘接收一个字符串表示的数字。
```python
num_str = input("请输入一个正整数:")
```
2. 然后将输入转换成整数。由于用户可能会输入非整数字符,我们使用 `try-except` 语句捕获异常。
```python
try:
num = int(num_str)
except ValueError:
print("该数无效")
exit() # 结束程序
```
3. 检查输入是否为大于 1 的正整数。如果 `num <= 1`,说明不是正整数,输出错误信息。
```python
if num <= 1:
print("该数无效")
else:
```
4. 接下来计算并判断是否为素数。遍历 2 到 num - 1 的范围,如果 num 能被其中任意一个数整除,那么它不是素数。
```python
is_prime = True
for i in range(2, num):
if num % i == 0:
is_prime = False
break
if is_prime:
print(f"{num} 是素数")
else:
print(f"{num} 不是素数")
```
5. 最后结束程序。
完整代码示例:
```python
while True:
num_str = input("请输入一个正整数:")
try:
num = int(num_str)
if num <= 1:
print("该数无效")
else:
is_prime = True
for i in range(2, num):
if num % i == 0:
is_prime = False
break
if is_prime:
print(f"{num} 是素数")
else:
print(f"{num} 不是素数")
except ValueError:
print("该数无效")
continue
```
阅读全文