1.自己实现扫描全盘的函数
- 要实现扫描全盘就需要用到递归
def scan_disk(dir): # 提取目录下的所有文件及文件夹(隐藏文件也可以调取出来),返回的是列表 files = os.listdir(dir) print("普通文件:") for file in files: # 判断是否为普通文件 if os.path.isfile(dir + os.sep + file): print(dir + os.sep + file) else: # 若是目录,则递归 print("目录文件:") print(dir + os.sep + file) #递归 scan_disk(dir + os.sep + file) scan_disk(input("请输入要扫描的路径:"))
扫描全盘只需输入D:\(根据扫描的盘服自己修改即可)
结果:(由于盘服太大,我就输入一个文件夹即可)
2.编写程序显示前 100个回文素数,
-
回文素数是指一个数既是素数又是回文数。
-
例如,131 既是素数也是回文数。此数字313和717 都是如。
-
每行显示 10个数字,并且准确对齐如下所示
代码:
num = 1
count = 0
# 判断是否为素数
def isPrime(n):
for i in range(2, n):
if n % i == 0:
return False
return True
# 判断是否为回文
def isPalindrome(n):
t = str(n)
if t == t[::-1]:
return True
return False
while count < 100:
num += 1
#调用两个函数进行判断
if isPalindrome(num) and isPrime(num):
count += 1
print(num, end='\t')
if count % 10 == 0:
print()
结果:
3.编写一个测试程序,读入三角形三边的值,若输人有效则计算面积。否则,显示输入无效
- 创建一个名叫MyTriangle的模块,它包含下面两个函数
- def isValid(side1,side2,side3):
- de farea(sidel,side2,side3):
def isValid(side1, side2, side3):
if side1 + side2 > side3 and side1 + side3 > side2 and side2 + side3 > side1:
return True
return False
def area(side1, side2, side3):
# 此处使用海伦公式计算面积
p = (side1 + side2 + side3) / 2
area_s = (p * (p - side1) * (p - side2) * (p - side3))**0.5
return area_s
a, b, c = eval(input("请输入三个数(谁用英文逗号隔开):"))
if isValid(a, b, c):
s = area(a, b, c)
print(f"The area of the triangle is : {s}")
else:
print("Input is invalid")
结果: