0
이 없습니다. 이 프로그램은 경주를 시뮬레이트하기로되어 있고 차가 500 마일 가량 지나면 우승자 이름과 후원자가 인쇄되어 문제가 발생합니다. 이 속성 오류를 수정하려면 어떻게해야합니까?파이썬 AttributeError : 나는 내가 오류가 다음 코드를 실행하려고 할 때마다 '목록'개체가 어떤 속성 '인종'
from random import randint
class Car:
def __init__(self, DriverName, SponsorName):
RaceWinner = False
self.OdometerTotal = 0
self.Time = 0
self.Driver = DriverName
self.Sponsor = SponsorName
def Race(self):
LastSpeed = 0
while self.OdometerTotal < 500:
self.Time += 1
self.CurrentSpeed = randint(1, 120)
self.OdometerTotal +=(self.CurrentSpeed/60 * self.Time) + ((self.CurrentSpeed - LastSpeed)/(60 * self.Time))
LastSpeed = self.CurrentSpeed
if self.OdometerTotal >= 500:
print(self.Driver, "sponsored by", self.Sponsor, "was the winner.")
RaceWinner = True
return RaceWinner
def Winner(self):
if RaceWinner == True:
print(self.Name)
print(self.Sponsor)
DriverList = [Car("Aric Almirola","Richard Petty Racing"),Car("Marcos Ambrose", "Richard Petty Motorsports"),Car("Greg Biffle", "Roush Fenway Racing"),Car("Dave Blaney", "Tommy Baldwin Racing"),Car("Clint Bowyer", "Michael Waltrip Racing"),Car("Jeff Burton", "Richard Childress Racing"),Car("Kurt Thomas Busch", "Furniture Row Racing"),Car("Kyle Busch", "Joe Gibbs Racing"),Car("Liz LeMuiex", "Hendrick Motorsports"),Car("Dale Earnhardt Jr.", "Hendrick Motorsports"),Car("Carl Edwards", "Roush Fenway Racing"),Car("David Gilliland", "Front Row Motorsports"),Car("Jeff Gordon", "Hendrick Motorsports"),Car("Denny Hamlin", "Joe Gibbs Racing"),Car("Kevin Harvick", "Richard Childress Racing"),Car("Sam Hornish Jr", "Penske Racing"),Car("Jimmie Johnson", "Hendrick Motorsports"),Car("Kasey Kahne", "Hendrick Motorsports"),Car("Matt Kenseth", "Roush Fenway Racing"),Car("Brad Keselowski", "Penske Racing")]
while True:
DriverList.Race()
if RaceWinner in DriverList:
print("The winner is", DriverList.Winner())
break
DriverList = ["Aric Almirola", "Marcos Ambrose", "Greg Biffle", "Dave Blaney", "Clint Bowyer", "Jeff Burton", "Kurt Thomas Busch", "Kyle Busch", "Liz LeMuiex", "Dale Earnhardt Jr.", "Carl Edwards","David Gilliland", "Jeff Gordon", "Denny Hamlin", "Kevin Harvick", "Sam Hornish Jr", "Jimmie Johnson", "Kasey Kahne", "Matt Kenseth", "Brad Keselowski"]
SponsorList = ["Richard Petty Racing", "Richard Petty Racing", "Roush Fenway Racing", "Tommy Baldwin Racing", "Michael Waltrip Racing", "Richard Childress Racing", "Furniture Row Racing", "Joe Gibbs Racing", "Hendrick Motorsports", "Hendrick Motorsports", "Roush Fenway Racing", "Front Row Motorsports","Hendrick Motorsports", "Joe Gibbs Racing", "Richard Childress Racing", "Penske Racing", "Hendrick Motorsports", "Hendrick Motorsports", "Roush Fenway Racing", "Penske Racing"]
아니요, 목록에 문제가 없습니다. 그것은 당신의 프로그램을 unalvageable이야. –
그 차가 500을 넘을 때까지 다른 처리를하기 위해 돌아 오지 않기 때문에 처음으로 호출 된 Car는 항상 "Win"됩니다. –