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

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

实验报告一 python序列结构

一、实验学时 2学时

二、实验目的

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

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

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

4.掌握切片操作。

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

三、实验内容

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

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

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

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

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

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

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

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

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

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

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

四、实验结果

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

#程序名:text1.py
#功能:存储以下信息:学号,姓名,所在学院,专业名称。
#作者:祝传超
#学号:20222501038
#日期:2023.03.04
student = {'学号':'20222501038','姓名':'祝传超','所在学院':'软件学院','所在班级':'22-4班'}   
print(student)
copy

运行截图: 图片描述 2.编写程序,用一个变量存储你所在小组的组员名单。

#程序名:text2.py
#功能:编写程序,用一个变量存储你所在小组的组员名单。
#作者:祝传超
#学号:20222501038
#日期:2023.03.04
list = ['蔡徐坤','陈立农','王子异','朱正廷']
print(list)
copy

运行截图: 图片描述 3.对组员名单进行操作,如增加一个同学,减少一个同学,修改一个同学的姓名。

#程序名:text2.py
#功能:编写程序,用一个变量存储你所在小组的组员名单。
#作者:祝传超
#学号:20222501038
#日期:2023.03.04
list = ['蔡徐坤','陈立农','王子异','朱正廷']
print(list)

#增加
list.insert(2,"二次元刀哥")
list.append("陈泽")
list.extend(['小馋猫烤肉拌饭','桌饺'])
print(list)

#删除
del list[1]
list.remove("王子异")
print(list)

#修改
list[3]="陈志涛"
print(list)
copy

运行截图: 图片描述 4.编写程序,录入小组成员的姓氏,利用集合输出小组中的所有姓氏。

#程序名:text4.py
#功能:录入小组姓氏,用集合输出
#作者:祝传超
#学号:20222501038
#日期:2023.03.04
num = int (input("请输入姓氏个数"))
a  = set()
for i in range(0,num):
    a.add(input())
print(a)
copy

运行截图: 图片描述 5.编写程序,用一个变量存储组员名单,组员Python成绩,计算组员总人数,总分,平均分。

程序名:text5.py
#功 能:计算组员总人数,总分,平均分
#作 者:祝传超
#学 号:20222501038
#日 期:2023.3.4
team = {"小明":88,"小丽":100,"小李":89,"小刘":69}
k = 0
for i in team:
    k +=1
print("小组人数:")
print(k)
sum=team["小丽"]+team["小刘"]+team["小明"]+team["小李"]
print("小组总分:")
print(sum)
average = sum / k
print("小组平均分:")
print(average)
copy

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

#程序名:text6.py
#功能:筛选出六十分以下的成绩
#作者:祝传超
#学号:20222501038
#日期:2023.03.04
#思路: 使用列表推导式找出小于60的成绩并输出
score = []
num = int(input("请输入成绩个数:"))
for i in range(0,num):
    score.append(int(input()))
print("六十分以下的成绩为:")
low_score = [i for i in score if i < 60 ]
print(low_score)
copy

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

#程序名:text7.py
#功能:找出列表中的整数
#作者:祝传超
#学号:20222501038
#日期:2023.03.04
a = [123, 'hello', (1,2), 456, {23}, {'a':789}]
b = []
b = [i for i in a if type(i) == int]
print(b)
copy

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

#程序名:test8.py
#功能:利用生成器表达式生成0~9的数值,每一个数值乘以你的幸运数字,最后将生成器对象转换成列表,输出列表的结果。
#作者:祝传超
#学号:20222501038
#日期:2023.3.5
a = (x*3 for x in range(0,10))
a = list(a)
print (a)
copy

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

#程序名:test9.py
#功能:给定一个列表`member0 = ["今天","天气","真好"]`,通过i**n**s**e**rt()方法,把列表`member0`变成`member1 = ["今天","的","天气","是","真好","呀"]`。
#作者:祝传超
#学号:20222501038
#日期:2023.3.5

#insert()
member0 = ["今天","天气","真好"]
member0.insert(1,'的')
member0.insert(3,'是')
member0.insert(5,'啊')
print(member0)

#切片()
member0 = ["今天", "天气", "真好"]
member0[0:1]
member0[1:2]
member0[2:]
member1= []
member2 = ["的"]
member3 = ["是"]
member4 = ["呀"]
member1 = member0[0:1] + member2 + member0[1:2] + member3 + member0[2:] + member4
print(member1)
copy

运行截图: 图片描述 10.现有一购物车列表如下:

carts=[{"name":"床", "price":1999, "num":1}, {"name":"枕头", "price":10,"num":2}, {"name":"被子", "price":20, "num":1}]
copy
#程序名:test10.py
#功能:通过用户输入总资产,例如:30003000,然后显示购物车列表,计算购物车商品总金额,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
#作者:祝传超
#学号:20222501038
#日期:2023.3.5
carts=[{"name":"床", "price":1999, "num":1}, {"name":"枕头", "price":10,"num":2}, {"name":"被子", "price":20, "num":1}]
money = int(input("请输入总资产:"))
sum = 0
for i in range(0,3):
    sum = sum + carts[i]['price']*carts[i]['num']
if sum <= money:
    print("购买成功")
else:
    print("购买失败,余额不足")
copy

运行截图: 图片描述 五、实验小结 问题和解决方法:

1.对切片的知识理解运用不清楚

2.函数语句不使用{}来明确范围,代码缩进不规范时容易出现逻辑错误。编写代码时注意代码缩进。

心得体会:

python的使用规则和函数与c++有很大不同,平时要多敲代码多熟悉新的规则,尽量避免函数格式错误,在需要使用时能快速想起使用方法。 多看书和上网查阅资料。

最新评论

答案正确,程序规范,很好。

2023-07-07 00:30:35
回复