一、实验目的
1.熟练运用Python运算符。
2.熟练运用Python内置函数。
二、实验类型及课时
验证/设计/综合:验证;课时:2。
三、实验环境
Windows 7或Windows 10,Python 3.6及以上。
四、实验内容
1.编写程序,输入一个包含若干整数的列表,输出新列表,要求新列表中的所有元素来自于输入的列表,并且降序排列。
2.编写程序,输入一个包容若干整数的列表,输出列表中所有整数连乘的结果。
3. 编写程序,输入两个各包含2个整数的列表,分别表示城市中两个地点的坐标,输出两点之间的曼哈顿距离。
4. 编写程序,输入包含若干集合的列表,输出这些集合的并集。要求使用reduce()函数和lambda表达式完成。
5. 编写程序,输入等比数列的首项、公比(不等于1且小于36的正整数)和一个自然数,输出这个等比数列前n项的和。关键步骤要求使用内置函数int()。
6. 编写程序,输入一个字符串,输出其中出现次数最多的字符及其出现的次数。
五、实验方法与步骤
要求每道编程题:
(1)编写程序代码清单,并且每个语句加上注释。
(2)运行结果截图,测试数据要包括边界值。
1. 编写程序,输入一个包含若干整数的列表,输出新列表,要求新列表中的所有元素来自于输入的列表,并且降序排列。
(1)程序代码清单
lstA = input("请输入一个列表:")#输入一个列表
lstB=sorted(lstA,reverse = True)#对列表进行排序
print(lstB)#输出列表
(2)运行结果截图
2. 编写程序,输入一个包容若干整数的列表,输出列表中所有整数连乘的结果。
(1)程序代码清单
a=input()#出入一个包容若干整数的列表
s=1#定义一个常量
for i in a:#使用一个for循环
s=s*int(i)#相乘
print(s)#打印结果
(2)运行结果截图
3. 编写程序,输入两个各包含2个整数的列表,分别表示城市中两个地点的坐标,输出两点之间的曼哈顿距离。
(1)程序代码清单
A = eval(input("请输入第一个坐标:"))#输入一个列表
B = eval(input("请输入第二个坐标:"))#输入一个列表
c = abs(A[0]-B[0]) + abs(A[1]-B[1])#计算坐标距离
print("曼哈顿距离为:",c)#打印结果2
(2)运行结果截图
4. 编写程序,输入包含若干集合的列表,输出这些集合的并集。要求使用reduce()函数和lambda表达式完成。
(1)程序代码清单
from functools import reduce#使用reduce
list9 = eval(input('请输入包含若干集合的列表:'))#请输入包含若干集合的列表
print(len(list9))#打印list9列表
listtmp = set()#建立新的列表
for i in range(0,len(list9)):#for循环
print(list9[i:i+2])#打印结果
#将并集运算的结果返回列表中可参与下次并集运算的集合中
list9[i+1] = reduce(lambda x, y: x | y, list9[i:i+2])
print(i)#打印结果
(2)运行结果截图
5. 编写程序,输入等比数列的首项、公比(不等于1且小于36的正整数)和一个自然数,输出这个等比数列前n项的和。关键步骤要求使用内置函数int()。
(1)程序代码清单
a1=input("请输入首项:")#输入首项
q=input("请输入公比:")#输入公比
n=input("自然数n:")#输入自然数n
s=int(a1)*(1-int(q)**int(n))/(1-int(q))#计算这个等比数列前n项和
print(s)#输出这个等比数列前n项和
(2)运行结果截图
6. 编写程序,输入一个字符串,输出其中出现次数最多的字符及其出现的次数。
(1)程序代码清单
str=input("请输入一串字符:")#输入一个拆串字符
d={}#创立一个新的串字符做容器
for i in str:#遍历输入的串字符
d[i]=str.count(i)#遍历的结果放到新的字符串中
v = max(d.values())#统计次数
for key,value in d.items():#for循环
if(value == v):#for判断语句
print("请输出出现最多字符是{:<20}次数{}".format(key,v))#打印结果
(2)运行结果截图
六、实验思考
1.请问程序清单中每个语句加上注释有什么好处?
注释的作用是帮助理解程序的有效的手段之一,帮助自己和他人理解程序。注释有单行注释,多行注释等。