class Student: def __init__(self): self.name = name self.studentID = studentID def returnName (self): return self.name def returnAge(self): return self.age def setAge(self,age): self.age = agedef main(): n = input("what is the student's name? ") listOfStudents = [] while (n): i = int (input ("what is the student's ID number? ")) myStudent = Student(n, i) listOfStudents.append(myStudent) print (myStudent.returnName()) myStudent.setAge (20) n = input("what is the student's name? ") for student1 in listOfStudents: print (student1.returnName(), student1.returnAge())main()
Question
class Student: def init(self): self.name = name self.studentID = studentID def returnName (self): return self.name def returnAge(self): return self.age def setAge(self,age): self.age = agedef main(): n = input("what is the student's name? ") listOfStudents = [] while (n): i = int (input ("what is the student's ID number? ")) myStudent = Student(n, i) listOfStudents.append(myStudent) print (myStudent.returnName()) myStudent.setAge (20) n = input("what is the student's name? ") for student1 in listOfStudents: print (student1.returnName(), student1.returnAge())main()
Solution
The code you've posted is written in Python, but it contains some errors. Here's the corrected version:
class Student:
def __init__(self, name, studentID):
self.name = name
self.studentID = studentID
self.age = None
def returnName(self):
return self.name
def returnAge(self):
return self.age
def setAge(self, age):
self.age = age
def main():
listOfStudents = []
while True:
n = input("What is the student's name? (leave blank to finish) ")
if not n:
break
i = int(input("What is the student's ID number? "))
myStudent = Student(n, i)
myStudent.setAge(20)
listOfStudents.append(myStudent)
print(myStudent.returnName())
for student1 in listOfStudents:
print(student1.returnName(), student1.returnAge())
main()
Here are the changes I made:
- I added
nameandstudentIDas parameters to the__init__method in theStudentclass. - I added
self.age = Noneto the__init__method to ensure that theageattribute is always initialized when aStudentobject is created. - I changed the
whileloop condition in themainfunction toTrueand added abreakstatement inside the loop. This way, the loop will continue until the user enters a blank name. - I moved the
setAgemethod call to after theStudentobject is created. This way, the age is set for each student, not just the first one. - I removed the
printstatement that was printing the student's name immediately after it was entered. This seemed unnecessary since all the students' names and ages are printed at the end.
Similar Questions
class Student: def __init__(self,name,id): self.name=name self.id=id print(self.id)std=Student("Simon",1)std.id=2print(std.id)
Problem statementSend feedbackWhat will be the output of the following code?class Student: def __init__(self,name,age): self.name = “Rohan” self.age = 60 def print_student_details(self): print(self.name, end= “ “) print(self.age)s = Student("saif",20)s.print_student_details()Options: Pick one correct answer from belowRohan 60NoneErrorNone of the Above
Problem statementSend feedbackWhat will be the output of this code?class Student: def __init__(self,name): self._name = name class Student1(Student): def __init__(self,name): super().__init__(name)s = Student("saif")print(s._name)
Define a class StudentDefine __init__ method with arguments self, name and age.Inside the __init__ method, set self.name = name, self.age = age.Take name and age from the console by calling input and store them in the variables s1_name, s1_ageCreate an instance Stud_1 of class Student by passing the values as argumentsTake name and age from the console by calling input and store them in the variables s2_name, s2_ageCreate an instance Stud_2 of class Student by passing the values as argumentsPrint Stud_1.namePrint Stud_2.name
What is the output of the below code?Code:class Cat: def __init__(self, age): self.age = age def set_age(self, num): self.age = num def get_age(self): return self.age cat1 = Cat(2)cat2 = Cat(4)cat1.set_age(cat2.get_age())cat2.set_age(5)cat3 = Cat(cat1.get_age() + cat2.get_age())print(cat3.get_age())*10965
Upgrade your grade with Knowee
Get personalized homework help. Review tough concepts in more detail, or go deeper into your topic by exploring other relevant questions.