利用Pathon实现下面功能 一个班有若干名学生,每名学生已修读了若干门课程并有考试成绩,把学生姓名(假设没有重名学生)和修读的课程名及考试成绩等信息保存起来,编写程序实现如下功能: (1)根据输入的姓名,输出该学生修读的所有课程的课程名及成绩。 (2)根据输入的课程名,输出修读了该课程的学生姓名及该门课程的成绩。 (3)输出所有不及格成绩的学生姓名及不及格的门数。 (4)输出所有学生已修读课程的课程名,重复的只输出一次。(用集合实现) (5)按平均成绩的高低输出学生姓名及平均成绩。 输入 姓名 课程名 输出 该学生修读的所有课程的课程名及成绩 修读了该课程的学生姓名及该门课程的成绩 所有不及格成绩的学生姓名及不及格的门数 所有学生已修读课程的课程名,重复的只输出一次 按平均成绩的高低输出学生姓名及平均成绩
时间: 2023-03-13 21:23:02 浏览: 201
可以使用Python来实现上述功能,可以使用Python的list、dict和set等数据结构来存储学生信息,以及使用for循环来实现循环查询,并使用if语句来判断考试成绩是否及格,最后根据学生的考试成绩计算出平均成绩并输出。
相关问题
使用pathon制作一个学生选课系统
好的,我可以帮您介绍一下Python实现学生选课系统的基本思路。
1. 确定数据结构
首先,我们需要确定学生、课程、选课记录等数据的结构。在Python中可以使用字典来存储这些数据,例如:
```python
students = {
"s001": {"name": "Tom", "courses": []},
"s002": {"name": "Jerry", "courses": []}
}
courses = {
"c001": {"name": "Math", "capacity": 50, "enrolled": []},
"c002": {"name": "English", "capacity": 40, "enrolled": []}
}
records = []
```
2. 编写功能函数
接下来,我们需要编写一些函数来实现选课系统的基本功能,如添加学生、添加课程、选课、退课等。例如:
```python
def add_student(student_id, name):
students[student_id] = {"name": name, "courses": []}
def add_course(course_id, name, capacity):
courses[course_id] = {"name": name, "capacity": capacity, "enrolled": []}
def enroll(student_id, course_id):
student = students.get(student_id)
course = courses.get(course_id)
if student and course:
if len(course["enrolled"]) < course["capacity"]:
student["courses"].append(course_id)
course["enrolled"].append(student_id)
records.append({"student_id": student_id, "course_id": course_id, "action": "enroll"})
print("Enroll success!")
else:
print("Course is full!")
else:
print("Invalid student ID or course ID!")
def withdraw(student_id, course_id):
student = students.get(student_id)
course = courses.get(course_id)
if student and course:
if course["enrolled"].count(student_id) > 0:
student["courses"].remove(course_id)
course["enrolled"].remove(student_id)
records.append({"student_id": student_id, "course_id": course_id, "action": "withdraw"})
print("Withdraw success!")
else:
print("Student has not enrolled this course!")
else:
print("Invalid student ID or course ID!")
```
3. 编写主程序
最后,我们可以编写一个主程序来调用这些功能函数,实现完整的选课系统。例如:
```python
while True:
print("1. Add student")
print("2. Add course")
print("3. Enroll course")
print("4. Withdraw course")
print("5. Quit")
choice = input("Enter your choice: ")
if choice == "1":
student_id = input("Enter student ID: ")
name = input("Enter student name: ")
add_student(student_id, name)
elif choice == "2":
course_id = input("Enter course ID: ")
name = input("Enter course name: ")
capacity = int(input("Enter course capacity: "))
add_course(course_id, name, capacity)
elif choice == "3":
student_id = input("Enter student ID: ")
course_id = input("Enter course ID: ")
enroll(student_id, course_id)
elif choice == "4":
student_id = input("Enter student ID: ")
course_id = input("Enter course ID: ")
withdraw(student_id, course_id)
elif choice == "5":
break
else:
print("Invalid choice!")
```
以上是一个简单的学生选课系统的Python实现思路,您可以根据自己的需求和实际情况进行修改和完善。
用pathon代码实现从一个txt中找到与Excel中每一个单元格内的字符串对应的txt行数,并输出
可以使用以下代码来实现:
```python
import pandas as pd
import re
df = pd.read_excel('example.xlsx', header=None)
strings = df[0].tolist()
with open('example.txt', 'r') as f:
lines = f.readlines()
for i, line in enumerate(lines):
for string in strings:
if re.search(string, line):
print(f"字符串'{string}'在txt文件中的行数为{i+1}")
```
代码的执行流程如下:
1. 使用`pandas`库读取Excel文件,并将第一列的所有字符串转化为列表。
2. 打开txt文件,读取每一行,并使用正则表达式匹配Excel中的每一个字符串。
3. 如果匹配成功,则输出字符串在txt文件中的行数。
需要注意的是,该代码的效率可能较低,如果txt文件比较大,可能需要较长的时间来运行。如果需要提高代码的效率,可以使用一些优化方法,比如将正则表达式编译为对象,避免重复编译;使用多线程或多进程来处理大文件等。