用python写输入自己的学号,把学号的前四位到[3]+后三位数,之间的素数找出来,并保存到文本以文件中
时间: 2024-02-26 08:57:54 浏览: 101
好的,以下是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
student_id = input("请输入学号:")
start = student_id[:4]
end = student_id[4:]
filename = "{}-{}素数.txt".format(start, end)
with open(filename, "w") as f:
for i in range(int(start), int(end) + 1):
if is_prime(i):
f.write(str(i) + "\n")
print("素数已保存到文件 {} 中".format(filename))
```
这段代码首先定义了一个 `is_prime` 函数用于判断一个数是否为素数。然后从用户输入中获取学号的前四位和后三位,构造出文件名。接下来,程序会遍历从前四位到后三位之间的所有整数,并将素数写入到文件中。最后输出保存素数的文件名。
相关问题
用python写出输入自己的学号,把学号的前四位到[3]+后三位数,之间的素数找出来,并保存到文本以文件中
好的,以下是一个示例代码:
```python
import re
# 学号正则表达式,匹配9位数字
sid_regex = r'\d{9}'
# 判断素数的函数
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
# 获取学号并提取出数字范围
sid = input("请输入学号:")
match = re.match(sid_regex, sid)
if match:
num_range = range(int(sid[0:4]), int(sid[3:7]) + 1)
else:
print("输入的学号格式不正确!")
exit()
# 遍历数字范围,找出素数
prime_list = []
for num in num_range:
if is_prime(num):
prime_list.append(num)
# 将素数写入文件
filename = "prime_numbers.txt"
with open(filename, "w") as f:
for prime in prime_list:
f.write(str(prime) + "\n")
print("素数已保存到文件 %s 中!" % filename)
```
使用方法:运行代码后,输入学号即可。程序会自动提取数字范围,并查找其中的素数。最后将素数保存到文件 prime_numbers.txt 中。
使用Python编写输入自己的学号,把学号的前四位到[3]+后三位数,之间的素数找出来,并保存到文本txt文件中.
以下是使用Python编写的代码:
```python
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n**0.5)+1):
if n % i == 0:
return False
return True
student_id = input("请输入学号:")
start = student_id[:4]
end = student_id[3:]
primes = []
for i in range(int(start)+1, int(end)):
if is_prime(i):
primes.append(str(i))
with open("primes.txt", "w") as f:
f.write("\n".join(primes))
```
首先定义了一个判断素数的函数`is_prime`,接着通过输入学号获取需要查找素数的范围,然后用一个循环遍历范围内的每个数,将素数加入到列表`primes`中。最后将`primes`中的素数以每行一个的格式写入到文本文件`primes.txt`中。
阅读全文