【发布时间】:2017-04-07 11:32:44
【问题描述】:
我正在尝试为学生数据库应用多级继承。我有name、rollno、age、marks、total 和average。我希望输出的形式为
Abc 1 21
Abc 1 21 98 79 88
Abc 1 21 98 79 88 255 85
我面临的错误是我无法连接 str 和 int。我可以理解问题是由于 str 中的名称和 int 中的其余部分。谁能帮帮我?
这是我的代码
import sys
class Person:
def __init__(self, name,rollno,age):
self.name = name
self.rollno = rollno
self.age=age
def Name(self):
return self.name + ", " + self.rollno + ", "+ self.age
class Employee(Person):
def __init__(self, name,rollno,age,m1,m2,m3):
Person.__init__(self,name,rollno,age)
self.m1 = m1
self.m2 = m2
self.m3 = m3
def Getemployee(self):
return self.name +"," + self.rollno +" ,"+ self.age +" ,"+ self.m1 +" ,"+ self.m2 +", "+ self.m3
class EmployeeDetails(Employee):
def __init__(self, name,rollno,age,m1,m2,m3,total):
Employee.__init__(self,name,rollno,age,m1,m2,m3)
self.total=self.m1+self.m2+self.m3
def empl(self):
return self.name +" ,"+ self.rollno +" ,"+ self.age +", "+ self.m1 +", "+ self.m2 +" ,"+ self.m3 +" ,"+ self.total
def main():
try:
n=int(raw_input("Enter the number of employees:"))
for i in range(n):
name =raw_input("enter the name:")
rollno =raw_input("enter the rollno:")
age =raw_input("enter the age:")
m1 =raw_input("enter m1:")
m2 =raw_input("enter m2:")
m3 =raw_input("enter m3:")
total =self.m1+self.m2+self.m3
p = Person(name,rollno,age)
e = Employee(name,rollno,age,m1,m2,m3)
s= EmployeeDetails(name,rollno,age,m1,m2,m3,total)
print p.Name()
print e.Getemployee()
print s.empl()
except ValueError :
print "value in error"
if __name__=='__main__':
main()
【问题讨论】:
-
您需要使用
str()将每个整数转换为字符串。 -
为什么我的问题被否决了??
标签: python string inheritance int