4、 编写程序,在任意文件夹中创建学生学号命名的文件夹,命名方式为'MFE2201'+'1,其中i为序号1-50。然后删除其中i为素数的那些文件夹。
时间: 2024-02-22 18:00:02 浏览: 85
下面是 Python 代码实现:
```python
import os
import shutil
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
# 创建文件夹
for i in range(1, 51):
folder_name = 'MFE2201' + str(i)
os.mkdir(folder_name)
# 删除素数编号的文件夹
for i in range(2, 51):
if is_prime(i):
folder_name = 'MFE2201' + str(i)
shutil.rmtree(folder_name)
```
这段代码首先定义了一个 `is_prime` 函数用于判断一个数字是否为素数。然后在循环中创建了 50 个文件夹,每个文件夹的名称为 `MFE2201` + 序号。
最后在循环中判断每个文件夹的编号是否为素数,是的话就使用 `shutil.rmtree` 函数删除该文件夹。
相关问题
4、编写程序,在任意文件夹中创建学生学号命名的文件夹,命名方式为'MFE2201'+'i',其中i为序号1-50。然后删除其中i为素数的那些文件夹。
以下是Python代码实现:
```python
import os
# 创建文件夹
for i in range(1, 51):
folder_name = "MFE2201" + str(i)
if not os.path.exists(folder_name):
os.mkdir(folder_name)
# 删除素数对应的文件夹
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
for i in range(1, 51):
if is_prime(i):
folder_name = "MFE2201" + str(i)
if os.path.exists(folder_name):
os.rmdir(folder_name)
```
解释一下代码:
首先,我们使用 `os.mkdir()` 方法创建50个文件夹,文件夹名称为 "MFE2201" + 序号。
接下来,我们定义一个 `is_prime()` 函数,用于判断一个数字是否为素数。该函数的实现原理是:从2到该数字的平方根之间遍历所有整数,如果该数字能够被任意一个整数整除,则说明它不是素数,返回False;否则,说明它是素数,返回True。
然后,我们遍历1到50之间的所有数字,如果该数字是素数,则将对应的文件夹删除。删除操作使用 `os.rmdir()` 方法,需要注意的是,只有空文件夹才能被删除,否则会抛出异常。因此,我们需要先判断文件夹是否存在,如果存在则执行删除操作。
阅读全文