5. 编写程序,能够输入10个学生的学号和姓名,并将学生按照学号由小到大排序。
时间: 2024-05-13 16:19:35 浏览: 67
以下是使用Python编写的程序:
```python
students = []
for i in range(10):
stu_id = input("请输入学生学号:")
stu_name = input("请输入学生姓名:")
students.append({"id": stu_id, "name": stu_name})
students.sort(key=lambda x: x["id"])
print("按照学号由小到大排序后的学生信息如下:")
for student in students:
print("学号:{},姓名:{}".format(student["id"], student["name"]))
```
程序首先通过循环输入10个学生的学号和姓名,并将其存储在一个列表中。然后使用sort方法和lambda函数按照学号由小到大排序。最后输出排序后的学生信息。
相关问题
编写一个程序,实现一下功能,要求 设计一个学生student类,包含学号、姓名、出生日期、性别等字段 从input.txt(从附件下载)中读取其中的学生信息,并存入学生集合list中 对学生集合list进行排序,按照出生日期从早到晚排序(即年龄由大到小) 将排序后的学生集合list输出到output.txt文件中,输出格式同input.txt:一行一个学生,依次输出学号、姓名、出生日期、性别并用空格隔开
以下是实现上述功能的Java代码:
Student.java:
```java
import java.util.Date;
public class Student implements Comparable<Student> {
private String id;
private String name;
private Date birthday;
private String gender;
public Student(String id, String name, Date birthday, String gender) {
this.id = id;
this.name = name;
this.birthday = birthday;
this.gender = gender;
}
public String getId() {
return id;
}
public String getName() {
return name;
}
public Date getBirthday() {
return birthday;
}
public String getGender() {
return gender;
}
@Override
public int compareTo(Student o) {
return this.birthday.compareTo(o.birthday); // 按照出生日期从早到晚排序
}
@Override
public String toString() {
return id + " " + name + " " + birthday + " " + gender;
}
}
```
Main.java:
```java
import java.io.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
public class Main {
public static void main(String[] args) {
List<Student> list = new ArrayList<>();
try (BufferedReader br = new BufferedReader(new FileReader("input.txt"))) {
String line;
while ((line = br.readLine()) != null) { // 逐行读取input.txt文件
String[] data = line.split(" "); // 将每行数据按空格分隔
String id = data[0];
String name = data[1];
Date birthday = new SimpleDateFormat("yyyy-MM-dd").parse(data[2]); // 解析出生日期
String gender = data[3];
Student student = new Student(id, name, birthday, gender);
list.add(student); // 将学生对象存入list集合中
}
} catch (IOException | ParseException e) {
e.printStackTrace();
}
Collections.sort(list); // 对list集合进行排序
try (BufferedWriter bw = new BufferedWriter(new FileWriter("output.txt"))) {
for (Student student : list) { // 遍历排序后的list集合
bw.write(student.toString()); // 将学生对象按照要求的格式输出到output.txt文件中
bw.newLine(); // 换行
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
此代码将读取名为"input.txt"的文件中的学生信息,并将其存储到学生集合list中。然后,对学生集合list进行排序,按照出生日期从早到晚排序。最后,将排序后的学生集合list输出到名为"output.txt"的文件中,输出格式同"input.txt":一行一个学生,依次输出学号、姓名、出生日期、性别并用空格隔开。
python 编写程序,使用字典存储学生信息,学生信息包括学号和姓名,请根据学生学号从小到大输出学生的信息。
可以使用以下 Python 代码实现:
```python
students = { # 学生信息字典
"2021001": "张三",
"2021003": "李四",
"2021002": "王五",
"2021005": "赵六",
"2021004": "钱七"
}
sorted_keys = sorted(students.keys()) # 学号从小到大排序
for key in sorted_keys:
print("学号:{},姓名:{}".format(key, students[key]))
```
其中,使用 `students` 字典存储学生信息,使用 `sorted` 函数将学生学号从小到大排序,然后遍历排序后的学号列表,输出对应的学生信息。
阅读全文