“Python 语言程序设计实验2023春季”实验报告

实验报告一 Python序列结构 截止时间3月12日

Python语言程序设计蓝桥实验报告

实验报告一

一.实验学时:2学时

二.实验目的

  1. 掌握:Python常用内置对象-列表、元组、字典、集合。

  2. 掌握运算符和内置函数对列表、元组、字典、集合的操作。

  3. 理解列表推导式、生成器表达式的工作原理。

  4. 掌握切片操作。

  5. 掌握序列解包的用法。

    三.实验内容

    1.编写程序,用一个变量存储以下信息:学号,姓名,所在学院,专业名称。 2.编写程序,用一个变量存储你所在小组的组员名单。 3.对组员名单进行操作,如增加一个同学,减少一个同学,修改一个同学的姓名。 4.编写程序,录入小组成员的姓氏,利用集合输出小组中的所有姓氏。 5.编写程序,用一个变量存储组员名单,组员Python成绩,计算组员总人数,总分,平均分。 6.编写程序,用一个变量存储组员成绩,要求有低于6060的成绩,利用列表推导式,筛选出低于6060分的成绩。 7.编写程序,利用列表推导式将列表中的整数提取出来[123, 'hello', (1,2), 456, {23}, {'a':789}]。 8.利用生成器表达式生成0~9的数值,要求每一个数值乘以你的幸运数字,最后将生成器对象转换成列表,输出列表的结果。 9.给定一个列表member0 = ["今天","天气","真好"],要求通过������()inser**t()方法和切片两种方案,把列表member0变成member1 = ["今天","的","天气","是","真好","呀"]

    10.现有一购物车列表如下:

    carts=[{"name":"床", "price":1999, "num":1}, {"name":"枕头", "price":10,"num":2}, {"name":"被子", "price":20, "num":1}]
    
    copy

    要求通过用户输入总资产,例如:30003000,然后显示购物车列表,计算购物车商品总金额,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。

    四.实验结果

1.编写程序,用一个变量存储以下信息:学号,姓名,所在学院,专业名称。

图片描述

num = 20222501805
name = "派合尔丁"
school = "软件学院"
major = "软件工程"
aList = [num,name,school,major]
aList1 = aList
print(aList1)
copy

2.编写程序,用一个变量存储你所在小组的组员名单。

图片描述

name1 = "张三"
name2 = "李四"
name3 = "王五"
aList = [name1,name2,name3]
aList1 = aList
print(aList1)
copy

3.对组员名单进行操作,如增加一个同学,减少一个同学,修改一个同学的姓名。

指定位置插入元素:

图片描述

name1 = "张三"
name2 = "李四"
name3 = "王五"
name4 = "老六"
aList = [name1, name2, name3]
aList.insert(1, name4)
print(aList)
copy

删除元素:

图片描述

name1 = "张三"
name2 = "李四"
name3 = "王五"
name4 = "老六"
aList = [name1, name2, name3]
del aList[1]
print(aList)
copy

修改元素:

图片描述

name1 = "张三"
name2 = "李四"
name3 = "王五"
name4 = "老六"
aList = [name1, name2, name3]
aList[1] = "小七"
print(aList)
copy

4.编写程序,录入小组成员的姓氏,利用集合输出小组中的所有姓氏。

图片描述

name_list = input("请输入小组成员的姓氏: ")
name_set = set(name_list.split(" "))
print("小组成员的姓氏有: ")
for name in name_set:
    print(name,end=" ")
copy

5.编写程序,用一个变量存储组员名单,组员Python成绩,计算组员总人数,总分,平均分。

图片描述

name0 = {"小明","小光","小红"}
grade0 = {50,80,90}
s = dict(zip(name0,grade0))
print("组员人数为: ",len(s))
print("总分数为: ",sum(s.values()))
print("平均数为: %0.2f" %(sum(s.values())/len(s)))
copy

6.编写程序,用一个变量存储组员成绩,要求有低于60的成绩,利用列表推导式,筛选出低于60分的成绩。

图片描述

name0 = {"小明","小光","小红"}
grade0 = {50,80,90}
s = dict(zip(name0,grade0))
grade = list(s.values())
grade1 = [i for i in grade if i<60]
print("低于60分的成绩有: ",grade1)
copy

7.编写程序,利用列表推导式将列表中的整数提取出来[123, 'hello', (1,2), 456, {23}, {'a':789}]

图片描述

list1 = [123,'hello',(1,2),456,{23},{'a':789}]
new_list1 = [i for i in list1 if type(i) == int]
print(new_list1)
copy

8.利用生成器表达式生成0~9的数值,要求每一个数值乘以你的幸运数字,最后将生成器对象转换成列表,输出列表的结果。

图片描述

x = []
for i in range(0,10):
    x.append(i * 3)
print(x)
copy

9.给定一个列表member0 = ["今天","天气","真好"],要求通过������()inser**t()方法和切片两种方案,把列表member0变成member1 = ["今天","的","天气","是","真好","呀"]

图片描述

mumber0 = ["今天","天气","真好"]
mumber0.insert(1,"的")
mumber0.insert(3,"是")
mumber0.insert(5,"呀")
mumber1 = mumber0
print(mumber1)
copy

10.现有一购物车列表如下:

carts=[{"name":"床", "price":1999, "num":1}, {"name":"枕头", "price":10,"num":2}, {"name":"被子", "price":20, "num":1}]
copy

要求通过用户输入总资产,例如:3000,然后显示购物车列表,计算购物车商品总金额,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。

图片描述

carts=[{"name":"床", "price":1999, "num":1}, {"name":"枕头", "price":10,"num":2}, {"name":"被子", "price":20, "num":1}]
salary = float(input("请输入您的总资产: "))
sum = 2029
if sum > salary:
    print("账号余额不足")
else:
    print("购买成功")
copy

五.实验小结

问题与解决办法:

1.问题:看到题目后脑子一片空白,无从下手。

解决办法:现在纸上理清思路再一步一步敲出来就可以了。

2.问题:缺乏信心,觉得刚开始学,不敢打出错误代码,想一次性就运行成功。

解决办法:反复尝试失败后运行成功带来的喜悦增强了自信心,激起了兴趣。

3.问题:编写代码时出现大量的错别字导致运行失败,还不能迅速发现错误。

解决办法:一步一步耐心的检查错别字并改正后问题解决。

4.问题:错用中文字体的","号,并且不能迅速发现错误。

解决办法:拍下错的代码,重新编写所有的代码后发现","下边的横线有差别,再根据中英文字体的不同找出了问题所在,并且问题得到解决。

最新评论

第9题缺少一种方法,最后一题计算总价格的过程未用编程实现。

2023-03-10 18:16:37
回复