• 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/aaaaaa1.py
    E:/wwwJK/aaaaaa2.py
    E:/wwwJK/aaaaaa3.py
    E:/wwwJK/aaaaaa4.py
    E:/wwwJK/aaaaaa5.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
    eport2019_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'}
  • 相关阅读:
    通过GUID生成可持久化的PID
    使用redisTemplate存储数据,出现xACxEDx00x05tx00
    二分查找法c语言实现
    请求路径@PathVariable注释中有点.英文句号的问题(忽略英文句号后面的后缀)
    windows下根据tcp端口查询对应的进程id(端口被占用)
    解决gradle项目每次编译都下载gradle-x.x-all.zip gradle-x.x-bin.zip
    HideTcpip.c
    ANSI C遍历二维数组指针地址
    sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    centos7安装VuePress
  • 原文地址:https://www.cnblogs.com/yitao326/p/10341464.html
Copyright © 2020-2023  润新知