用Python4. 辅导员要到学生宿舍走访,学生宿舍管理数据库中有一列表如下,现将表中的姓名列删除形成新表, 要求不能出现重复元组(行)。 编写程序,用序列和集合实现这一过程,从而获得需要走访的宿舍地址(楼栋和宿舍号): 姓名 楼栋 宿舍号 张小西 凤凰苑 201 顾小北 凤凰苑 301 刘小东 刺桐苑 309 吴小南 紫荆苑 103 林小春 刺桐苑 309 胡小夏 紫荆苑 103 赖小秋 刺桐苑 305 陈小冬 凤凰苑 201 实验步骤与代码 实验结果 5. 设计一个字典,用于存储学生(至少3个)及其所选课程列表。编写程序要求: (1)输入一个学生姓名,输出其对应的选课列表。 (2)输入一门课程,在字典中查找选修该课程的所有学生并输出,要求这门课至少有两名学生选修。 (3)分别输入两名学生的姓名,使用集合将两者共同选修的课程输出. (4)要求输入其中一个人名,输入一门课程,将这课程添加到对应的选课列表,输出添加后的结果。

时间: 2023-06-10 19:07:44 浏览: 74
第四题代码: ```python # 原始表格 data = [("张小西", "凤凰苑", "201"), ("顾小北", "凤凰苑", "301"), ("刘小东", "刺桐苑", "309"), ("吴小南", "紫荆苑", "103"), ("林小春", "刺桐苑", "309"), ("胡小夏", "紫荆苑", "103"), ("赖小秋", "刺桐苑", "305"), ("陈小冬", "凤凰苑", "201")] # 用列表和集合实现去重 new_data = [] visited = set() for item in data: name, building, room = item if name not in visited: new_data.append((building, room)) visited.add(name) # 输出结果 for item in new_data: print("楼栋:{},宿舍号:{}".format(item[0], item[1])) ``` 输出结果: ``` 楼栋:凤凰苑,宿舍号:201 楼栋:凤凰苑,宿舍号:301 楼栋:刺桐苑,宿舍号:309 楼栋:紫荆苑,宿舍号:103 楼栋:刺桐苑,宿舍号:305 ``` 第五题代码: ```python # 定义字典 course_dict = { "小明": ["数学", "英语", "物理"], "小红": ["语文", "英语", "化学"], "小张": ["数学", "英语", "历史"], } # 输入学生姓名,输出选课列表 name = input("请输入学生姓名:") if name in course_dict: print("{}的选课列表为:{}".format(name, course_dict[name])) else: print("未找到该学生!") # 输入课程名,输出选修该课程的学生列表 course = input("请输入课程名:") students = [] for name in course_dict: if course in course_dict[name]: students.append(name) if len(students) < 2: print("选修该课程的学生数量不足2人!") else: print("选修{}的学生有:{}".format(course, students)) # 输入两个学生姓名,输出共同选修的课程 name1 = input("请输入第1个学生姓名:") name2 = input("请输入第2个学生姓名:") if name1 not in course_dict or name2 not in course_dict: print("输入的学生姓名有误!") else: courses1 = set(course_dict[name1]) courses2 = set(course_dict[name2]) common_courses = courses1 & courses2 if len(common_courses) == 0: print("{}和{}没有共同选修的课程!".format(name1, name2)) else: print("{}和{}共同选修的课程有:{}".format(name1, name2, common_courses)) # 输入一个人名和一门课程,将该课程添加到对应的选课列表中 name = input("请输入学生姓名:") course = input("请输入课程名:") if name in course_dict: course_dict[name].append(course) print("{}的选课列表为:{}".format(name, course_dict[name])) else: print("未找到该学生!") ```

相关推荐

在Flask中,可以使用SQLAlchemy来操作数据库。如果要将数据插入到已有的表中,可以使用SQLAlchemy的session对象来实现。 首先,需要定义一个模型类来表示数据库中的表。假设已经有一个名为User的表,可以定义一个对应的模型类如下: python from sqlalchemy import Column, Integer, String from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() class User(Base): __tablename__ = 'user' id = Column(Integer, primary_key=True) name = Column(String(50), unique=True) age = Column(Integer) 这个模型类定义了一个名为User的表,包含id、name和age三个字段。其中,name字段被定义为unique=True,表示该字段的值必须唯一。 接下来,可以使用session对象来插入数据。假设要插入一个名为Alice、年龄为25的用户,可以按照以下方式操作: python from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker engine = create_engine('mysql+pymysql://user:password@localhost/dbname') Session = sessionmaker(bind=engine) session = Session() user = User(name='Alice', age=25) session.add(user) session.commit() 这段代码首先创建了一个engine对象,用于连接数据库。然后创建了一个Session类,用于创建session对象。最后,创建了一个User对象,并将其添加到session中,最后调用commit()方法提交事务,将数据插入到数据库中。 如果要插入的数据与已有数据重复,会发生什么呢?如果重复的字段是id,则会抛出主键冲突的异常;如果重复的字段是name,则会覆盖已有数据。例如,如果要插入一个名为Alice、年龄为30的用户,可以按照以下方式操作: python user = User(name='Alice', age=30) session.merge(user) session.commit() 这段代码中,使用merge()方法将新的User对象合并到已有的数据中。由于name字段是唯一的,因此会覆盖已有的数据。
### 回答1: 可以使用Python中的文件操作函数来读取文本内容,然后根据内容的类型将其存放到不同的列表中。 具体步骤如下: 1. 打开文本文件,使用Python中的open函数,指定文件路径和打开模式(例如,读取模式"r")。 2. 读取文件内容,使用Python中的read函数,将文件内容读取到一个字符串变量中。 3. 将字符串内容按照类型分割,例如,可以使用split函数将字符串按照空格或者其他分隔符分割成多个子字符串。 4. 根据子字符串的类型将其存放到不同的列表中,例如,可以使用Python中的列表数据类型来存放字符串、数字、布尔值等不同类型的数据。 5. 关闭文件,使用Python中的close函数,释放文件资源。 下面是一个示例代码,可以读取文本文件中的内容,并将其按照类型存放到不同的列表中: # 打开文件 file = open("test.txt", "r") # 读取文件内容 content = file.read() # 关闭文件 file.close() # 将字符串按照空格分割成多个子字符串 words = content.split() # 定义不同类型的列表 strings = [] numbers = [] booleans = [] # 遍历子字符串,根据类型存放到不同的列表中 for word in words: if word.isdigit(): numbers.append(int(word)) elif word.lower() == "true" or word.lower() == "false": booleans.append(bool(word)) else: strings.append(word) # 输出不同类型的列表 print("Strings:", strings) print("Numbers:", numbers) print("Booleans:", booleans) 在上面的示例代码中,我们首先打开了一个名为"test.txt"的文本文件,并使用read函数读取了文件内容。然后,我们将字符串按照空格分割成多个子字符串,并遍历这些子字符串,根据类型将其存放到不同的列表中。最后,我们输出了不同类型的列表,以验证代码的正确性。 ### 回答2: Python是一种强大的编程语言,它提供了丰富的功能来读取和处理文本文件。在Python中,可以使用open()函数来打开文本文件,并使用read()函数来读取其内容。读取文本文件的最基本方法是一行一行读取,如下所示: with open('text.txt', 'r') as file: lines = file.readlines() for line in lines: # do something with each line 在读取文本文件内容时,我们需要考虑如何将其按类型存储到列表中。首先,我们需要确定存储的数据类型,例如字符串、整数、浮点数等。然后,我们可以使用Python内置的数据类型,如list或dict,来存储这些数据。 以下是一个例子,假设文本文件内容如下: apple,10,1.2 banana,20,1.5 orange,30,1.0 我们可以将每行的数据按照逗号分隔,然后将其转换为对应的类型。最后,我们将每行的数据存储为一个字典,再将所有字典存储到一个列表中,如下所示: data = [] with open('text.txt', 'r') as file: lines = file.readlines() for line in lines: items = line.strip().split(',') name = items[0] count = int(items[1]) price = float(items[2]) record = {'name': name, 'count': count, 'price': price} data.append(record) 这样,我们就成功地将文本中的数据读取并以字典的形式存储在了列表中。这个例子只是一个简单的示例,实际应用中需要根据不同的需求进行相应的处理。但是基本思路是一样的,先确定存储数据的类型,然后将数据转换为相应类型并存储到列表或字典中。 ### 回答3: 在Python中,我们可以使用open()函数打开一个文本文件,读取其中的内容后将其按照需要的类型存放到列表中。具体步骤如下: 1. 使用open()函数打开文本文件,并指定打开方式为“r”(只读方式)。 2. 使用read()函数读取文件中的所有内容,并将其存储到一个字符串变量中。 3. 将字符串按照需要的方式分割,例如按照空格或逗号分割。 4. 根据分割后的结果,将不同类型的值存放到不同类型的列表中。 以下是一个示例代码: # 打开文本文件 file = open('test.txt', 'r') # 读取文件内容 text = file.read() # 按照空格分割字符串 words = text.split(' ') # 定义不同类型的列表 integers = [] floats = [] strings = [] # 将值按照类型存放到对应的列表中 for word in words: if '.' in word: floats.append(float(word)) elif word.isdigit(): integers.append(int(word)) else: strings.append(word) # 输出结果 print('整数列表:', integers) print('浮点数列表:', floats) print('字符串列表:', strings) 在上面的示例代码中,我们打开了一个名为“test.txt”的文本文件,并将其中的内容读取到了一个字符串变量中。然后使用空格分割字符串,并根据不同类型将值存放到对应的列表中,最终输出了三个列表:整数列表、浮点数列表和字符串列表。

最新推荐

使用Python向DataFrame中指定位置添加一列或多列的方法

今天小编就为大家分享一篇使用Python向DataFrame中指定位置添加一列或多列的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

详解用python实现基本的学生管理系统(文件存储版)(python3)

主要介绍了python实现基本的学生管理系统,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

python学生信息管理系统实现代码

主要介绍了python学生信息管理系统的实现代码,代码简单,复制即可使用,需要的朋友可以参考下

解决python cv2.imread 读取中文路径的图片返回为None的问题

主要介绍了解决python cv2.imread 读取中文路径的图片返回为None的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

python练习题 :用户任意输入10个整数到列表中,然后由大到小排列并输出。

4.python3.x默认使用的编码是_UTF-8________。 5.如果想测试变量的类型,可以使用___type()_____来实现。 6.8.57E5表示的数是___8.57*10^5_______。 7.字符串是一种表示__文本的______数据的类型。 8.像双引号这样的...

面向6G的编码调制和波形技术.docx

面向6G的编码调制和波形技术.docx

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire

Power BI中的数据导入技巧

# 1. Power BI简介 ## 1.1 Power BI概述 Power BI是由微软公司推出的一款业界领先的商业智能工具,通过强大的数据分析和可视化功能,帮助用户快速理解数据,并从中获取商业见解。它包括 Power BI Desktop、Power BI Service 以及 Power BI Mobile 等应用程序。 ## 1.2 Power BI的优势 - 基于云端的数据存储和分享 - 丰富的数据连接选项和转换功能 - 强大的数据可视化能力 - 内置的人工智能分析功能 - 完善的安全性和合规性 ## 1.3 Power BI在数据处理中的应用 Power BI在数据处

建立关于x1,x2 和x1x2 的 Logistic 回归方程.

假设我们有一个包含两个特征(x1和x2)和一个二元目标变量(y)的数据集。我们可以使用逻辑回归模型来建立x1、x2和x1x2对y的影响关系。 逻辑回归模型的一般形式是: p(y=1|x1,x2) = σ(β0 + β1x1 + β2x2 + β3x1x2) 其中,σ是sigmoid函数,β0、β1、β2和β3是需要估计的系数。 这个方程表达的是当x1、x2和x1x2的值给定时,y等于1的概率。我们可以通过最大化似然函数来估计模型参数,或者使用梯度下降等优化算法来最小化成本函数来实现此目的。

智能网联汽车技术期末考试卷B.docx

。。。