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}。
dic={"name":"zs","age":18}
dic.pop("name")
dic
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))