班级有30个人上交作业要按学号从小到大排序设计一个程序
时间: 2023-05-30 12:03:12 浏览: 198
下面是一个Python程序示例,可以实现按学号从小到大排序:
```python
# 定义一个列表存储学生信息
students = []
# 输入每个学生的信息,包括学号和姓名
for i in range(30):
num = int(input("请输入第%d个学生的学号:" % (i+1)))
name = input("请输入第%d个学生的姓名:" % (i+1))
students.append([num, name])
# 按照学号从小到大排序
students.sort(key=lambda x: x[0])
# 输出排序后的学生信息
print("按学号从小到大排序后的学生信息:")
for student in students:
print("学号:%d,姓名:%s" % (student[0], student[1]))
```
运行程序后,依次输入每个学生的学号和姓名,程序会自动将其存储在一个列表中,并按照学号从小到大排序。最后输出排序后的学生信息。
相关问题
班级有30个人上交作业要按学号排序设计一个程序
以下是一个Python程序示例,可以实现按学号排序的功能:
```python
students = [
{"name": "张三", "id": "20180101", "homework": "第一次作业"},
{"name": "李四", "id": "20180102", "homework": "第一次作业"},
{"name": "王五", "id": "20180103", "homework": "第一次作业"},
# 其他27个人的信息
]
sorted_students = sorted(students, key=lambda student: student["id"])
for student in sorted_students:
print(student["name"], student["id"], student["homework"])
```
这个程序中,首先定义了一个包含30个学生信息的列表 `students`,每个学生信息包含姓名、学号和作业内容。然后使用 `sorted` 函数对 `students` 列表进行排序,排序的关键字是学号,因此使用 `key=lambda student: student["id"]` 指定了排序的方式。最后遍历排序后的列表,输出每个学生的姓名、学号和作业内容。
在enterbox中输入学生的学号,反馈学生学号、班级、姓名、上交时间,第一行的4列分别以学号、班级、姓名、上交时间命名,并生成一个excel
在Excel VBA中,你可以使用`Application.InputBox`函数结合`Microsoft.Office.Interop.Excel`库来实现用户输入学号后获取对应的学生信息,并将其保存到一个新的Excel工作表中。首先,确保已经引用了Excel对象模型。
```vba
Sub InputAndExportToExcel()
Dim ws As Worksheet ' 工作表对象
Dim rng As Range ' 用于存储数据的范围
Dim inputBoxValue As String ' 用户输入的学号
Dim studentData As Variant ' 包含学生信息的数组
Dim excelApp As Object ' Excel应用对象
Dim excelWorkbook As Object ' 工作簿对象
Dim excelWorksheet As Object ' 新的工作表对象
Set excelApp = CreateObject("Excel.Application")
Set excelWorkbook = excelApp.Workbooks.Add()
' 输入学号
inputBoxValue = Application.InputBox("请输入学号", "学生信息", "", , Type:=xlText)
' 假设你有一个包含学生信息的二维数组或列表,这里仅作为示例
studentData = Array( _
Array("001", "一班", "张三", "2023-01-15"), _
Array("002", "二班", "李四", "2023-01-16") _
)
' 根据用户输入查找学生数据
For i = LBound(studentData, 1) To UBound(studentData, 1)
If inputBoxValue = studentData(i)(0) Then
Set ws = excelWorkbook.Sheets.Add(After:=excelWorkbook.Sheets(excelWorkbook.Sheets.Count)) ' 创建新工作表
ws.Name = "学生信息" ' 设置工作表名称
' 写入第一行标题
rng = ws.Cells(1, 1)
rng.Value = "学号"
rng.Offset(1, 0).Value = "班级"
rng.Offset(1, 1).Value = "姓名"
rng.Offset(1, 2).Value = "上交时间"
' 写入学生数据
rng = ws.Cells(ws.Rows.Count, 1).End(xlUp) ' 获取最后一行
rng.Offset(1, 0).Value = studentData(i)(0)
rng.Offset(1, 1).Value = studentData(i)(1)
rng.Offset(1, 2).Value = studentData(i)(2)
rng.Offset(1, 3).Value = studentData(i)(3)
Exit For
End If
Next i
' 提示用户保存文件
MsgBox "学生信息已保存至新的Excel工作簿,请检查!"
excelWorkbook.SaveAs Filename:="学生信息.xlsx" ' 保存到指定路径
excelWorkbook.Close SaveChanges:=True
Set excelWorksheet = Nothing
Set excelWorkbook = Nothing
Set excelApp = Nothing
End Sub
```
运行此宏后,用户输入学号后,会根据找到的学生信息创建一个新的Excel工作表并填写数据。
阅读全文