Python30个基础题(一)
1、冒泡排序
lis = [58, 12, 1, 8, 354, 10, 100, 34, 56, 7, 23, 456, 234, -44, -22] for i in range(len(lis)-1): for j in range(len(lis)-1-i): if lis[j] > lis[j+1]: lis[j], lis[j+1] = lis[j+1], lis[j] print(lis) 输出结果: [-44, -22, 1, 7, 8, 10, 12, 23, 34, 56, 58, 100, 234, 354, 456]
2、计算x的n次方的方法
def power(x, n): s = 1 while n > 0: n = n - 1 s = s * x return s if __name__ == '__main__': print(power(3, 4)) 输出结果: 81
3、计算a*a + b*b + c*c + ……
def calc(*numbers): sum = 0 for n in numbers: sum = sum + n * n return sum if __name__ == '__main__': print(calc(3, 2, 1, 5)) 输出结果: 39
4、计算阶乘 n!
def fac(): num = int(input("请输入一个数字")) factorial = 1 # 查看数字是0或正数或负数 if num < 0: print("抱歉,负数没有阶乘!") elif num == 0: print("0的阶乘为1") else: for i in range(1, num + 1): factorial = factorial * i print("%d的阶乘为%d" % (num, factorial)) if __name__ == '__main__': fac() 输出结果: 请输入一个数字7 7的阶乘为5040
5、打印当前文件所在目录
import os l = [d for d in os.listdir('.')] print(l) 输出结果: ['a1.py', 'a2.py', 'a3.py', 'a4.py', 'a5.py', 'token.yaml', '上传图片.py', '数据驱动ddt.py', '爬虫图片.py', '获取时间戳.py', '获取路径.py', '读取excel数据.py']
6、把一个list中所有的字符串变成小写
l = ['Hello', 'WORld', 'IBM', 'Apple'] s = [s.lower() for s in l] print(s) 输出结果: ['hello', 'world', 'ibm', 'apple']
7、输出某个路径下的所有文件和文件夹的路径
import os def print_dir(): filepath = input("请输入一个路径:") if filepath == "": print("请输入正确路径") else: for i in os.listdir(filepath): # 获取目录中的文件及子目录列表 print(os.path.join(filepath, i)) # 把路径组合起来 print(print_dir()) 输出结果: 请输入一个路径:E:/wwwJK/ E:/wwwJK/.git E:/wwwJK/.idea E:/wwwJK/aaaaa E:/wwwJK/case E:/wwwJK/common E:/wwwJK/config E:/wwwJK/logs E:/wwwJK/report
8、输出某个路径及其子目录下的所有文件路径
import os def show_dir(filepath): for i in os.listdir(filepath): path = (os.path.join(filepath, i)) print(path) if os.path.isdir(path): # isdir()判断是否是目录 show_dir(path) # 如果是目录,使用递归方法 filepath = "E:/wwwJK/aaaaa" print(show_dir(filepath)) 输出结果: E:/wwwJK/aaaaa\a1.py E:/wwwJK/aaaaa\a2.py E:/wwwJK/aaaaa\a3.py E:/wwwJK/aaaaa\a4.py E:/wwwJK/aaaaa\a5.py
9、输出某个路径及其子目录下所有以.html为后缀的文件
import os def print_dir(filepath): for i in os.listdir(filepath): path = (os.path.join(filepath, i)) if os.path.isdir(path): # isdir()判断是否是目录 print_dir(path) # 如果是目录,使用递归方法 if path.endswith(".html"): print(path) filepath = "E:/wwwJK" print(print_dir(filepath)) 输出结果: E:/wwwJK\report\2019_01_31 11_24result.html
10、把原字典的键值对颠倒并生产新的字典
dict1 = {"A":"a", "B":"b", "C":"c"} dict2 = {y:x for x,y in dict1.items()} print(dict2) 输出结果: {'a': 'A', 'b': 'B', 'c': 'C'}