编写程序以在班级中存储学生详细信息。该信息应包括
studentnumber,第一个姓名,姓名和用户名。 包含一个返回学生电子邮件地址的函数。您可以通过在用户名中添加“@ coventry.ac.uk”来构建电子邮件地址。所以,Joe Blogs,用户名 blogsj将获得电子邮件地址blogsj@coventry.ac.uk
2任务2
创建一个程序,该程序使用任务1中的类来收集来自的学生记录列表 用户并允许使用电子邮件地址列出它们。 您应该为用户提供一个菜单系统。
#Python Lab9 Task1 & Task2
class student(object):
def _init_(self,student_ID,name,surname,username):
self.student_ID = student_ID
self.name = name
self.surname = surname
self.username = username
def email(self):
return self.username, "@coventry.ac.uk"
def _str_(self):
return "%d %s %s %s"%(self.student_ID,self.name,self.surname,self.username)
if __name__ == '__main__':
students=[]
user=""
while user not in ["Q","q"]:
print "Menu"
print "1. Show student detail"
print "2. Create new student detail"
print "3. Quit"
user=raw_input(">")
if user=="1":
for i in students:
print i
elif user=="2":
print "Creating a new student detail"
print "-----------------------------"
student_ID=raw_input("Student ID:")
name=raw_input("First Name:")
surname=raw_input("Surname:")
username=raw_input("Username:")
s = student(student_ID,name,surname,username)
students.append(s)
elif user=="3":
exit
答案 0 :(得分:2)
__init__
和__str__
需要双下划线:
class student(object):
def __init__(self,student_ID,name,surname,username):
...
def __str__(self):
这是reference。
此外,exit
将无效,除非您通过在其后面放置()
来调用它:
elif user=="3":
exit()
最后,由于self.student_ID
将是一个字符串,因此您需要使用%d
替换此行中的%s
:
return "%s %s %s %s"%(self.student_ID,self.name,self.surname,self.username)
%d
仅用于整数。