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'}

猜你喜欢

转载自www.cnblogs.com/yitao326/p/10341464.html