-1
我試圖利用TeamTreehouse學習訂閱&這開始與編程邏輯和設計(第3版)書,以嘗試學習編程& Python。請不要開槍殺我,我正在學習。Python 3.x方法不是從一個減法/加法開始
目標:我正在設置具有3個屬性的Vehicle類; yearModel,make,我需要稍後調用方法5次的速度對速度屬性採取行動。速度屬性必須添加5次,然後調用另一個方法來完成減法。
什麼沒有發生:我第一次稱加速方法時,車輛應該以5英里/小時的速度行駛,或者那是我的目標。
研究/故障排除:我一直在玩while while循環/做while循環而不是for循環,雖然老實說,我在這裏發佈這裏沒有太多的參考。我覺得我忽略了一些東西,因爲我一直在這麼做。
代碼:
#///////////Create Vehicle Object Template//////////////////////
# .self variables yearModel, make, speed
class Vehicle:
__yearModel = int()
__make = str("")
__speed = int(0)
#///////////Object Constructor//////////////////////
# .self variables yearModel, make, speed
def __init__(self, yearModel, make):
self.__yearModel = yearModel
self.__make = make
#///////////Object Constructor//////////////////////
#///////////METHODS aka functions in the object//////////////////////
#///////////////MODEL//////////////
# .self variables yearModel, make, speed
def setyearModel(self, yearModel):
self.__yearModel = yearModel
def getyearModel(self):
return self.__yearModel
#///////////////MODEL//////////////
#///////////////MAKE//////////////
# .self variables yearModel, make, speed
def getmake(self):
return self.__make
def setmake(self, make):
self.__make = make
#///////////////MODEL//////////////
#//////////////SPEED//////////////
# .Self variables yearModel, make, speed
def setSpeed(self, speed):
self.__speed = speed
def getSpeed(self):
return self.__speed
#//////////////SPEED//////////////
#//////////////ACCELERATE//////////////
# .self variables yearModel, make, speed
def accelerate(self):
self.__speed = self.__speed + 5
if(self.__speed < 0):
self.__speed = 0
# print(self.speedy())
# i = 0;
# for i in range(5):
# if (i <= 5):
# self.__speed = self.__speed + 5
# self.speedy()
# else:
# break
# i += 1
#//////////////SPEED//////////////
#//////////////BRAKE//////////////
# .self variables yearModel, make, speed
def brake(self):
self.__speed = self.__speed - 5
if(self.__speed < 0):
self.__speed = 0
# print(self.speedy())
# i = 0;
# for i in range(5):
# if (i <= 5):
# self.__speed = self.__speed - 5
# self.speedy()
# else:
# break
# i += 1
# def brake(self):
# self.__speed = self.__speed - 5
# if(self.__speed < 0):
# self.__speed = 0
#//////////////BRAKE//////////////
#//////////////PRINT//////////////
# .self variables yearModel, make, speed
def speedy(self):
print("The speed of the {} {} is currently {} MPH as it accelerates.".format(self.__yearModel,self.__make,self.__speed, end = ""))
def speedyDown(self):
print("The speed of the {} {} is currently {} MPH as it brakes.".format(self.__yearModel,self.__make,self.__speed, end = ""))
#//////////////PRINT//////////////
#///////////METHODS aka functions in the object^^^//////////////////////
#////////////////////// Object Initialization myVehicle///////////////
#////////////////////// User Inputs Section///////////////
def userInputs():
yearModel=input("What is the year and model of the vehicle?\n""Example: 1920 Modelt T.\n")
make=input("What automobile manufacturer made it?\n")
return yearModel, make
yearModel,make=userInputs()
#///////////Create Car Object Template^^^//////////////////////
myVehicle=Vehicle(yearModel,make)
#///////////Create Car Object Template^^^//////////////////////
print(myVehicle.speedy())
def speedAcceleratePrintout():
i = 0;
for i in range(5):
if (i <= 5):
myVehicle.accelerate()
print(myVehicle.speedy())
# elif (i>5 and i<-10):
# myVehicle.brake()
else:
break
i += 1
def speedBrakePrintout():
i = 0;
for i in range(5):
if (i <= 5):
myVehicle.brake()
print(myVehicle.speedyDown())
else:
break
i += 1
speedAcceleratePrintout()
speedBrakePrintout()
#print(myVehicle.speedy())
#////////////////////// Object Initialization myCar^^^///////////////
我想我可能因爲我的問題缺乏清晰度而被投票表決。我不明白爲什麼從「def speedAcceleratePrintout():」開始的第一個打印是以下內容(1920模型t ford的速度當前爲0 MPH,因爲它加速了。) – L2g2h
在此代碼中,我只有一個循環在我的爲了演示預期的結果,在方法中循環。首先從加速方法打印出的數據應該是5,這樣當調用制動方法時,可以在5次調用中回到0速度以加速和制動方法http://repl.it/rQs/33 – L2g2h