Python 我在这些类和对象上做错了什么
编写一个程序以在类中存储学生详细信息。信息应包括 学生编号、名字、姓氏和用户名。 包括一个返回学生电子邮件地址的函数。您可以通过在用户名中添加@coventry.ac.uk来构建emaila地址。所以,乔用用户名写博客 blogsj将获得电子邮件地址blogsj@coventry.ac.uk 2任务2 创建一个程序,使用任务1中的类从中收集学生记录列表 用户,并允许列出他们的电子邮件地址。 您应该为用户提供一个菜单系统Python 我在这些类和对象上做错了什么,python,class,object,Python,Class,Object,编写一个程序以在类中存储学生详细信息。信息应包括 学生编号、名字、姓氏和用户名。 包括一个返回学生电子邮件地址的函数。您可以通过在用户名中添加@coventry.ac.uk来构建emaila地址。所以,乔用用户名写博客 blogsj将获得电子邮件地址blogsj@coventry.ac.uk 2任务2 创建一个程序,使用任务1中的类从中收集学生记录列表 用户,并允许列出他们的电子邮件地址。 您应该为用户提供一个菜单系统 #Python Lab9 Task1 & Task2 class s
#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
您需要为_init__和_str_uu添加双下划线:
这是一本书
此外,除非您通过在exit之后放置以下内容来调用它,否则exit将不起作用:
elif user=="3":
exit()
最后,由于self.student_ID将是一个字符串,因此需要将此行中的%d替换为%s:
%d仅用于整数。谢谢您的帮助,但我对第12行返回%d%s%s%self.student\u ID,self.name,self.姓氏,self也有问题。username@user3083481-对。该问题是因为self.student_ID是字符串,但%d正在查找整数。请参阅我的编辑。从技术上讲,退出而不退出将终止程序,但会出现名称错误而不是SystemExit@SethMMorton-至少在Python 2.7+中,exit是在下定义的。但是,不调用它将不会像其他内置程序那样做任何事情。但是,如果您在启动Python时带有禁用站点模块的标志,则是正确的。@iCodez-Hmm。。。我似乎记得在2.7上出现了一个命名错误,但我的记忆力可能会下降。不管怎样,很高兴知道!
elif user=="3":
exit()
return "%s %s %s %s"%(self.student_ID,self.name,self.surname,self.username)