题目内容正确、方法规范、格式略有问题,一至五个部分完整
>>> information_list=['20222501636',"荣小安","软件学院","软件工程"]
>>> print(information_list)
['20222501636', '荣小安', '软件学院', '软件工程']
copy
运行截图:
2.编写程序,用一个变量存储你所在小组的组员名单。
程序名:test2.py
功能:用一个变量存储小组成员名单并可输出
作者:荣小安
学号:20222501636
日期:2023.03.08
思路:创建一个列表来存储这些信息并可输出
>>> group_list=["李尚","陈诺","赛普拉","许祯宝","荣小安"]
>>> print("小组成员有:",group_list)
copy
运行截图:
3.对组员名单进行操作,如增加一个同学,减少一个同学,修改一个同学的姓名。
程序名:test3.py
功能:对组员名单进行操作
作者:荣小安
学号:20222501636
日期:2023.03.09
思路:不涉及大量元素的添加,使用+运算符对列表元素进行添加;使用del运算符对列表元素进行删除;使用表示序号或位置的整数作下标修改列表中的元素
>>> group_list=["李尚","陈诺","赛普拉","许祯宝","荣小安"]
>>> group_list=group_list+["小明"]
>>> print(group_list)
['李尚', '陈诺', '赛普拉', '许祯宝', '荣小安', '小明']
>>> del group_list[5]
>>> print(group_list)
['李尚', '陈诺', '赛普拉', '许祯宝', '荣小安']
>>> group_list[4]="荣小花"
>>> print(group_list)
['李尚', '陈诺', '赛普拉', '许祯宝', '荣小花']
copy
运行截图:
4.编写程序,录入小组成员的姓氏,利用集合输出小组中的所有姓氏。
程序名:test4.py
功能:录入小组成员的姓氏并输出
作者:荣小安
学号:20222501636
日期:2023.03.09
思路:利用集合录入信息并输出
>>> group={"李","陈","玉山江","许","荣"}#录入成员姓氏
>>> print(group)#利用集合出小组中的所有姓氏
copy
运行截图:
5.编写程序,用一个变量存储组员名单,组员Python成绩,计算组员总人数,总分,平均分。
程序名:test5.py
功能:记录小组成员及成绩并计算组员总人数、总分、平均分
作者:荣小安
学号:20222501636
日期:2023.03.09
思路:用字典录入名单及成绩信息,用len函数计算人数,用sum(a.values())计算总分,用总分除人数得平均分
>>> grade_information={"小明":80,"小红":85,"小刚":93}#存储组员名单,组员Python成绩
>>> print("小组总人数:",len(grade_information))#计算组员总人数
小组总人数: 3
>>> print("小组总分:",sum(grade_information.values()))#计算小组总分
小组总分: 258
>>> print("小组平均分:",sum(grade_information.values())/len(grade_information))
小组平均分: 86.0
>>> #计算小组平均分
copy
运行截图:
6.编写程序,用一个变量存储组员成绩,要求有低于
60的成绩,利用列表推导式,筛选出低于60分的成绩。
程序名:test6.py
功能:筛选符合条件的数
作者:荣小安
学号:20222501636
日期:2023.03.09
思路:用列表录入成绩,再利用列表推导式筛选出低于60分的成绩
>>> grade=[56,35,57,60,72,80,90]
>>> grade=[i for i in grade if i<60]#用列表推导式筛选低于60分的成绩
>>> print(grade)
copy
运行截图:
7.编写程序,利用列表推导式将列表中的整数提取出来[123, 'hello', (1,2), 456, {23}, {'a':789}]。
程序名:test7.py
功能:利用列表推导式提取列表中指定条件的数
作者:荣小安
学号:20222501636
日期:2023.03.09
思路:先把数据放入一个列表中,运用列表推导式将int类型数据提出来
>>> a=[123, 'hello', (1,2), 456, {23}, {'a':789}]
>>> a=[i for i in a if type(i)==int]
>>> print(a)
copy
运行截图:
8.利用生成器表达式生成0
9的数值,要求每一个数值乘以你的幸运数字,最后将生成器对象转换成列表,输出列表的结果。
程序名:test8.py
功能:利用生成器表达式生成09的数值按要求操作并转换为列表输出
作者:荣小安
学号:20222501636
日期:2023.03.10
思路:先输入一个幸运数,由于会默认为字符串需强制转化为整形数,再写一个生成器对象,最后转换为列表输出
>>> n=int(input("请输入你的幸运数字:"))#将n转化为整型数并提示输入
请输入你的幸运数字:2
>>> a=((i*2) for i in range(10))
>>> list(a)#生成一个生成器对象并转换为列表
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
copy
运行截图:
9.给定一个列表member0 = ["今天","天气","真好"],要求通过insert()方法和切片两种方案,把列表member0变成member1 = ["今天","的","天气","是","真好","呀"]。
程序名:test9.py
功能:通过inset向列表中添加元素
作者:荣小安
学号:20222501636
日期:2023.03.10
思路:由于添加的元素不一样,用insert向列表中多次添加元素达到目的;在用切片时无法在中间添加元素,只会被替换,所以先从末尾添加,然后在中间额外添加2个元素一共达到6个元素,再在此基础上进行切片替换达到目的
>>> member0 = ["今天","天气","真好"]
>>> member0.insert(1,"的")
>>> member0.insert(3,"是")
>>> member0.insert(5,"呀")
>>> member1=member0
>>> print(member1)
['今天', '的', '天气', '是', '真好', '呀']
copy
运行截图:
>>> member0 = ["今天","天气","真好"]
>>> member0[len(member0):]=["呀"]
>>> member0[1:2]=["是"]*3
>>> member0
['今天', '是', '是', '是', '真好', '呀']
>>> member0[2:3]=["天气"]
>>> member0
['今天', '是', '天气', '是', '真好', '呀']
>>> member0[1:2]=["的"]
>>> member1=member0
>>> print(member1)
['今天', '的', '天气', '是', '真好', '呀']
copy
运行截图:
10.现有一购物车列表如下:
carts=[{"name":"床", "price":1999, "num":1}, {"name":"枕头", "price":10,"num":2}, {"name":"被子", "price":20, "num":1}]
要求通过用户输入总资产,例如:3000,然后显示购物车列表,计算购物车商品总金额,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
程序名:test10.py
功能:计算并判断资产是否足够购买商品
作者:荣小安
学号:20222501636
日期:2023.03.11
思路:用for循环计算商品总价格,用if条件语句判断能否购买
>>> carts=[{"name":"床", "price":1999, "num":1}, {"name":"枕头", "price":10,"num":2}, {"name":"被子", "price":20, "num":1}]
>>> m=int(input("请输入您的总资产:"))#输入总资产
请输入您的总资产:3000
>>> print(carts)#返回购物车列表
[{'name': '床', 'price': 1999, 'num': 1}, {'name': '枕头', 'price': 10, 'num': 2}, {'name': '被子', 'price': 20, 'num': 1}]
>>> sum=0
>>> for x in range(len(carts)):
sum= sum+carts[x].get("price")*carts[x].get("num")#计算购物车商品总价格
>>> if m<sum:
print("账户余额不足")#如果总资产小于商品总额提示账户余额不足
else:
print("购买成功")#如果总资产大于等于商品总额提示购买成功
购买成功
>>>
copy
运行截图:
##五、实验小结
(包括问题和解决办法、心得体会、意见与建议等) 问题:不清楚如何将列表中字典的值进行乘积求和。 解决办法:通过网络搜索和查看教材了解到可采用列表[].get()的形式获取字典的值并乘积求和。 问题:报错unexpected indent。 解决办法:通过单词查询得知这是意外缩进的意思,删去代码头部一个空格符解决办法。 心得体会:书上的知识很多,但只有实践了才能算学习,要多多自己去写。同时,书上的知识并非全面的,我们要学习自己去寻找答案。 意见与建议:无。
学习时间 7分钟
操作时间 0分钟
按键次数 0次
实验次数 5次
报告字数 6232字
是否完成 完成