按要求编写python程序:接收键盘输入的m和n的值,要求判断m与n为正整数并且m<n,否则继续输入,寻找m到n之间的所有正整数的反序数中的素数,将结果写到输出文件“out.txt”中。反序数:将原数各位数字颠倒后的数,例如:123的反序数为321,70的反序数为7
时间: 2023-06-27 22:02:19 浏览: 107
从键盘输入一个三位整数,逆序输出。如输入123,输出321。
好的,以下是代码实现:
```python
def reverse(num):
"""反转数字"""
return int(str(num)[::-1])
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:
# 循环读取用户输入,直到输入符合要求
m = int(input("请输入m的值:"))
n = int(input("请输入n的值:"))
if m > 0 and n > 0 and m < n:
break
result = []
for i in range(m, n + 1):
if is_prime(reverse(i)):
result.append(i)
with open("out.txt", "w") as f:
f.write("m到n之间的所有正整数的反序数中的素数为:\n")
for r in result:
f.write(str(r) + "\n")
```
运行时会要求用户输入m和n的值,如果不符合要求会一直提示用户重新输入。当输入符合要求后,程序会寻找m到n之间的所有正整数的反序数中的素数,并将结果写入到一个名为“out.txt”的输出文件中。
注意:此程序只能在Python3.x版本中运行。
阅读全文