如何在Python Student类代码中添加用户输入实现实例化?
实现用户输入创建Student实例的方法
核心思路
用Python内置的input()函数获取用户输入的各项信息,其中年龄需要转换为整数类型(input()默认返回字符串),再将这些输入值作为参数传入Student类的构造方法,完成实例创建。
修改后的完整代码
class Student: def __init__(self, first, last, age, major): self.first = first self.last = last self.age = age self.major = major self.courses = [] def profile(self): print("Student name", self.first, ' ', self.last) print("Student age:", self.age) print(f"Major: {self.major}") def enrol(self, course): self.courses.append(course) print("enrolled ", self.first," in", course) def show_courses(self): print(f"{self.first + ' ' + self.last} is taking the following courses") for course in self.courses: print(course) # 获取用户输入 first_name = input("请输入学生的名:") last_name = input("请输入学生的姓:") # 处理年龄输入,避免非数字导致报错 try: student_age = int(input("请输入学生的年龄:")) except ValueError: print("年龄必须输入数字,默认设置为20") student_age = 20 student_major = input("请输入学生的专业:") # 创建Student实例 s = Student(first_name, last_name, student_age, student_major) s.enrol('Biochemistry I') s.enrol('Literature') s.enrol('Mathematics') s.show_courses()
关键说明
input(prompt)函数会在控制台显示提示文本,等待用户输入后返回字符串类型的内容。- 年龄字段需要用
int()转换为整数,这里添加try-except块处理用户输入非数字的情况,避免程序直接崩溃。 - 修正了原代码
show_courses方法中姓名拼接的冗余空字符串,让姓名显示更合理。
内容的提问来源于stack exchange,提问作者VincentOfTheHighlands
相关产品推荐
相关产品推荐

