已有某一学生信息如下:student={"name":"张三","age":20,"gender":"男","class":"网工1班","city":"广州"},现要求通过输入键来输出字典中对应的键值。要求进行异常处理:用异常处理来实现,当用户输入的键不存在时给出提示,并获取用户重新输入键对应的值。如果用户输入”exit”,则结束程序(忽略大小写)。
时间: 2023-07-06 16:41:18 浏览: 55
好的,以下是实现这个功能的代码:
```python
student = {"name": "张三", "age": 20, "gender": "男", "class": "网工1班", "city": "广州"}
while True:
try:
key = input("请输入要查询的键(输入exit退出):")
if key.lower() == "exit":
break
value = student[key]
print("%s: %s" % (key, value))
except KeyError:
print("输入的键不存在,请重新输入!")
```
这个代码会从标准输入中读取用户输入的键,然后从 `student` 字典中获取对应的值。如果输入的键不存在,则会抛出 `KeyError` 异常,我们可以通过 `try-except` 语句来捕获该异常,并提示用户重新输入。如果用户输入 `exit`,则会退出循环并结束程序。注意,为了方便,这里将用户输入的键转换为小写字母进行比较,这样即使用户输入的键有大小写不同,也能正确匹配到字典中的键。
相关问题
存储学生信息的字典结构如下:{"name":"张三","gender":"男","age":20},设计一个学生列表来存储多个学生。设计至少2个函数,分别实现对学生信息的添加和查找功能。
可以使用一个列表来存储多个学生信息,每个学生信息以字典的形式存储。具体实现如下:
```python
students = []
# 添加学生信息
def add_student(name, gender, age):
student = {"name": name, "gender": gender, "age": age}
students.append(student)
# 查找学生信息
def find_student(name):
for student in students:
if student["name"] == name:
return student
return None
```
使用示例:
```python
# 添加学生信息
add_student("张三", "男", 20)
add_student("李四", "女", 19)
# 查找学生信息
student = find_student("张三")
if student:
print(student)
else:
print("未找到该学生")
```
输出结果:
```
{'name': '张三', 'gender': '男', 'age': 20}
```
2.请按照以下要求设计一个学生类student,并进行测试。 要求如下: student类
学生类Student应该包含以下成员变量:
1. 姓名(name):用于存储学生的姓名。
2. 年龄(age):用于存储学生的年龄。
3. 学号(studentID):用于存储学生的学号。
同时,学生类应该具有以下方法:
1. 构造方法(constructor):用于创建学生对象,并初始化姓名、年龄和学号。
2. 获取姓名(getName):用于返回学生的姓名。
3. 设置姓名(setName):用于设置学生的姓名。
4. 获取年龄(getAge):用于返回学生的年龄。
5. 设置年龄(setAge):用于设置学生的年龄。
6. 获取学号(getStudentID):用于返回学生的学号。
7. 设置学号(setStudentID):用于设置学生的学号。
以下是一个示例实现:
public class Student {
private String name;
private int age;
private String studentID;
public Student(String name, int age, String studentID) {
this.name = name;
this.age = age;
this.studentID = studentID;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getStudentID() {
return studentID;
}
public void setStudentID(String studentID) {
this.studentID = studentID;
}
public static void main(String[] args) {
Student student = new Student("张三", 18, "20210001");
System.out.println("姓名:" + student.getName());
System.out.println("年龄:" + student.getAge());
System.out.println("学号:" + student.getStudentID());
student.setAge(19);
student.setStudentID("20210002");
System.out.println("修改后的年龄:" + student.getAge());
System.out.println("修改后的学号:" + student.getStudentID());
}
}
输出结果:
姓名:张三
年龄:18
学号:20210001
修改后的年龄:19
修改后的学号:20210002
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)