数据分析与处理 实验一 Python编程环境与语言基础

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("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")

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

s = "ajldjlajfdljfddd"
print(sorted(list(set(s))))

在这里插入图片描述

③ 使用列表推导式求列表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,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)

在这里插入图片描述

写法2:

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

在这里插入图片描述

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

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

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

dic={"name":"zs","age":18}
del dic["name"]
dic

在这里插入图片描述

⑥ 给定字符串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"))

在这里插入图片描述

(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-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

在这里插入图片描述

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

def swap(a, b):
    return b, a

a = 1
b = 2
a, b = swap(a, b)

print(a, b)

在这里插入图片描述

④ 自定义函数完成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],请使用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])

在这里插入图片描述

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

c = lambda a,b:a+b
print(c(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))

在这里插入图片描述

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

okfang616

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值