类,构造函数,令人困惑的方向

问题描述 投票:-1回答:1

“创建一个包含公寓号,卧室,浴室和租金金额的类。创建一个接受每个数据字段值的构造函数。另外,为每个字段创建一个get方法。编写一个创建至少五个Apartment的应用程序然后提示用户输入所需的最少卧室数,所需浴室的最小数量,以及用户愿意支付的最大租金。显示符合用户标准的所有公寓对象的数据。我尝试创建get方法,但每当我尝试使用它时,我都会遇到错误。

Potential Input: 1000, 1, 1
Desired Output: 
Aparment#  Rent   Rooms  Bathrooms
111        1000   1      `1
class Apartments:
     def __init__(self, apartNum, rent, rooms, bath):
        self.apartNum=apartNum
        self.rent=rent
        self.rooms=rooms
        self.bath=bath

     def setRent(self,aRent):
        self.rent1 = aRent
     def getRent(self):
        return self.aRent

     def setRoom(self,rooms):
        self.room = rooms
     def getRoom(self):
        return self.rooms

     def setBath(self,baths):
        self.bath = baths
     def getBath(self):
        return self.baths

apt_1= Apartments(111,1000,1,1)
apt_2= Apartments(112,2000,2,1)
apt_3= Apartments(113,2500,2,2)
apt_4= Apartments(114,3000,3,2)
apt_5= Apartments(115,3500,3,3)

rentInput=input('Enter maximum amount of rent: ')    
roomInput=input('Enter minimum number of bedrooms: ')
bathInput=input('Enter minimum number of baths: ')
python class methods constructor initialization
1个回答
0
投票

您需要确保始终使用相同的变量名称,在__init__中存储self.rent,然后在接下来的两种方法中存储self.rent1然后尝试访问self.aRent。您对其他变量进行了类似的无效访问。

这就是我看到清理过的所有不一致变量访问实例的外观。

Potential Input: 1000, 1, 1
Desired Output: 
Aparment#  Rent   Rooms  Bathrooms
111        1000   1      `1
class Apartments:
     def __init__(self, apartNum, rent, rooms, bath):
        self.apartnum=apartNum
        self.rent=rent
        self.rooms=rooms
        self.baths=bath

     def setRent(self,rent):
        self.rent = rent
     def getRent(self):
        return self.rent

     def setRooms(self,rooms):
        self.rooms = rooms
     def getRooms(self):
        return self.rooms

     def setBaths(self,baths):
        self.baths = baths
     def getBaths(self):
        return self.baths

apt_1= Apartments(111,1000,1,1)
apt_2= Apartments(112,2000,2,1)
apt_3= Apartments(113,2500,2,2)
apt_4= Apartments(114,3000,3,2)
apt_5= Apartments(115,3500,3,3)

rentInput=input('Enter maximum amount of rent: ')    
roomInput=input('Enter minimum number of bedrooms: ')
bathInput=input('Enter minimum number of baths: ')
© www.soinside.com 2019 - 2024. All rights reserved.