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

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

实验一

姓名:阿特郎·艾尔肯

班级:软件22-7班

一、实验学时: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 = ["今天","天气","真好"],要求通过insert()inser**t()方法和切片两种方案,把列表member0变成member1 = ["今天","的","天气","是","真好","呀"]
10.现有一购物车列表如下:
carts=[{"name":"床", "price":1999, "num":1}, {"name":"枕头", "price":10,"num":2}, {"name":"被子", "price":20, "num":1}]
copy
要求通过用户输入总资产,例如:30003000,然后显示购物车列表,计算购物车商品总金额,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。

四、实验结果

id = 20222501857
name = "阿特郎·艾尔肯"
college = "新疆大学"
major = "软件工程"
M = [id,name,college,major]
print("学生的信息为:",M)
copy

图片描述

a = ['宋博睿','19岁','男']
b = ['钱志国','19岁','男']
c = ['吕远志','19岁','男']
d = ['岳亦霖','19岁','男']
D =  [a,b,c,d]
print("小组内成员信息为:",D)
print('aaaa')
copy

图片描述

a = ['蝈蝈','小宋','坤坤']
print('最初的名单为:',a)
b = "小贝"
a.append(b)
print("增加后的名单为:",a)
a.pop(3)
print("删除后的名单为:",a)
c = '小岳'
a[0] = c
print("更改后的名单为:",a)
copy

图片描述

firstname = input("请输入:")
a = set(firstname.split(","))
print("小组的姓氏有:",a)
copy

图片描述

name = {'阿特郎','钱志国','吴昆朋'}
grade = {90,85,96}
a = dict(zip(name,grade))
A = len(a)
B = sum(a.values())
C = sum(a.values())/len(a)
print("总人数为:",A)
print("总成绩为:",B)
print("平均分为:",C)
copy

图片描述

name = {'阿特郎','吴昆朋','钱志国'}
grade = {87,59,85}
a = dict(zip(name,grade))
b = a.values()
c = [x for x in b if x<60]
print("成绩低于60分的有:",c)
copy

图片描述

a = [123,'hello',(1,2),456,{2,3},{'a':789}]
b = [x for x in a if type(x)==int]
print(b)
copy

图片描述

x = int(input("请输入你的幸运数字:"))
y = list([x*i for i in range(10)])
print (y)
copy

图片描述

member0 =["今天","天气","真好"]
a = "的"
b = "是"
c = "呀"
member0.insert(1,a)
member0.insert(3,b)
member0.insert(5,c)
member1=member0
print(member1)
copy

图片描述

carts=[{"name":"床", "price":1999, "num":1}, {"name":"枕头", "price":10,"num":2}, {"name":"被子", "price":20, "num":1}]
while True:
    for value in carts:
        print(carts.index(value)+1,value['name'],value['price'])
    str_input = input('请输入你选择的序号,按Q或q退出:')
    if str_input.isdigit() and 0 < int(str_input) < len(carts):
        print(carts[int(str_input)-1]['name'],carts[int(str_input)-1]['price'])
    elif str_input.strip().upper() == 'Q':
        break
    else:
        print('输入有误,请重新输入!')
copy

图片描述

五、实验小结(包括问题和解决办法,心得体会,意见与建议等。)

问题和解决办法:在使用python时,因为c++留下来的习惯,会常常误用“;”符号,在报错以后,及时修改,解决了问题。
心得体会:python比起c++简单了许多,很多代码也很通俗易懂,但在一些小细节方面,还是得用心,不能太过于粗心,在c++里一些复杂的符号在python用不上,得格外注意这一点。
最新评论

本次实验内容基本完整,解题逻辑合理,注意标序号,格式有待改进。

2023-03-17 21:54:46
回复