题目:用While...True (半路循环结构)判断用户输入的一个数是否为素数;要求:用户输入非数字提示出错,继续输入;用户输入字母n或N时,程序结束。 输入示例: 10 5 y n 输出示例 18 不为素数 5 为素数 输入数字不合法,请重新输入
时间: 2024-11-13 20:40:05 浏览: 22
这个题目要求我们编写一个使用while...true无限循环的程序,用于检测用户输入的整数是否为素数。以下是Python语言的一个简单实现:
```python
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
return False
return True
while True:
try:
user_input = input("请输入一个数字(输入n或N退出):")
# 检查输入是否为数字
if not user_input.isdigit():
print("输入数字不合法,请重新输入")
continue
num = int(user_input)
if num.lower() in ['n', 'n']:
break
if is_prime(num):
print(f"{num} 为素数")
else:
print(f"{num} 不为素数")
except ValueError:
print("输入数字不合法,请重新输入")
```
在这个程序中,我们首先检查用户的输入是否为数字,如果不是,则提示错误并继续下一轮循环。如果是数字,我们就检查它是否为素数,并打印相应的结果。当用户输入'n'或'N'时,我们通过`break`语句跳出循环,程序结束。
阅读全文