• 《数据分析与处理》第二周实验


    1. 实验内容
    (1)Python3.6.4与Anaconda3-5.1.0环境的搭建、启动与退出。
    (2)Python数据类型的操作。
    (3)Python条件语句与循环语句的程序编写。
    (4)Python用户自定义函数的编写。
    (5)Python高阶函数与匿名函数的使用。

    2.目的要求
    (1)熟悉Python3.6.4与Anaconda3-5.1.0环境的启动与退出。
    (2)掌握Python数据类型的操作。
    (3)学会根据不同的问题使用条件语句和循环语句编写程序。
    (4)掌握自定义函数的编写与调用。
    (5)熟悉高阶函数与匿名函数的使用。

    3.实验方法手段及其条件

    前情提要:前面都是些水题,咱们直接上正文。

    (3) Jupyter Notebook的使用与Python数据类型的操作。
    ① 编写程序用三行print完成以下信息的显示。

    欢迎进入到身份认证系统V1.0
    1. 登录
    2. 退出
    3. 认证
    4. 修改密码

    print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
    print("~       欢迎进入到身份认证系统 V1.0\n~ 1. 登录\n~ 2. 退出\n~ 3. 认证\n~ 4. 修改密码")
    print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    ② s = “ajldjlajfdljfddd”,去重并从小到大排序输出[‘a’, ‘d’, ‘f’, ‘j’, ‘l’]。

    s = "ajldjlajfdljfddd"
    print(sorted(list(set(s))))
    
    • 1
    • 2

    在这里插入图片描述

    ③ 使用列表推导式求列表a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]所有奇数并构造新列表[1,3,5,7,9]。

    a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    print([i for i in a if i % 2 == 1])
    
    • 1
    • 2

    在这里插入图片描述

    ④ 将两个列表[1,5,7,9]和[2,2,6,8]合并为[1,2,2,5,6,7,8,9]。

    a = [1, 5, 7, 9]
    b = [2, 2, 6, 8]
    c = []
    c.extend(a)
    c.extend(b)
    print(c)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    写法2:

    a = [1, 5, 7, 9]
    b = [2, 2, 6, 8]
    c = [*a, *b]
    c
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    ⑤ 使用pop和del删除字典中的"name"字段,dic={“name”:“zs”,“age”:18}。

    1. 使用 pop 删除:
    dic={"name":"zs","age":18}
    dic.pop("name")
    dic
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    2. 使用del 删除

    dic={"name":"zs","age":18}
    del dic["name"]
    dic
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    ⑥ 给定字符串string = ‘life is short, I use python’,编写程序实现字符串的替换,输出结果为“life is long, I use python”。

    string = 'life is short, I use python'
    print(string.replace("short", "long"))
    
    • 1
    • 2

    在这里插入图片描述

    (4)Python条件语句、循环语句、自定义函数、高阶函数与匿名函数的编写。
    ① 输入自已的身高、体重,根据BMI公式(体重除以身高的平方)计算BMI指数,并并输出身体的胖瘦程度。
    BMI<18.5 过轻
    [18.5-25):正常
    [25-28):过重
    [28-32):肥胖
    高于32:严重肥胖

    def BMI(weight, height):
        bmi = weight / (height * height)
        if bmi < 18.5:
            return "过轻"
        elif bmi < 25:
            return "正常"
        elif bmi < 28:
            return "过重"
        elif bmi < 32:
            return "肥胖"
        else:
            return "严重肥胖"
    
    height = float(input("请输入身高"))
    weight = float(input("请输入体重"))
    
    print(BMI(weight, height))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    在这里插入图片描述

    ② 编程输出1-10之间的素数。

    def isprime(n):
        import math
        if n==1 or n==0:
            return False
        for i in range(2,int(math.sqrt(n))+1):
            if n % i ==0:
                return False
        return True
    
    ans = [ i for i in range(10) if isprime(i)]
    ans
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述

    ③ 自定义函数完成交换两个数值。

    def swap(a, b):
        return b, a
    
    a = 1
    b = 2
    a, b = swap(a, b)
    
    print(a, b)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    ④ 自定义函数完成1+2+3+…+n。

    def sum(n):
        sum = 0
        for i in range(1, n + 1):
            sum +=i
        return sum
    
    print(sum(10))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    ⑤ 已知列表[1,2,3,4,5],请使用map()函数输出[3,6,9,12,15],并使用列表推导式提取出大于8的数,最终输出[9,12,15]。

    a = [1,2,3,4,5]
    b = list(map(lambda x: x*3, a))
    print(b)
    print([i for i in b if i > 8])
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    ⑥ 用lambda函数实现两个数相加。

    c = lambda a,b:a+b
    print(c(1,2))
    
    • 1
    • 2

    在这里插入图片描述

    ⑦ 使用filter函数求出列表所有偶数并构造新列表,a=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]。

    a=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    list(filter(lambda x:x%2==0,a))
    
    • 1
    • 2

    在这里插入图片描述

  • 相关阅读:
    有哪些专业的配音APP推荐?
    A-Level经济真题每期一练(22)
    安防设施搭建使用
    Android 天气APP(三十六)运行到本地AS、更新项目版本依赖、去掉ButterKnife
    Java 调用 Cpp 代码简单示例
    windows中Mysql数据库的安装和卸载
    冰蝎Java WebShell免杀生成 -- ByPassBehinder4J​
    剩下的数。
    mysql执行insert和update处理字段是数据库关键字的问题
    SpringBoot整合SpringSecurity [超详细] (二)获取用户信息
  • 原文地址:https://blog.csdn.net/okfang616/article/details/127383586