我遇到錯(cuò)誤消息問題:TypeError: unsupported operand type(s) for -=: 'Workers' and 'int'。我知道該消息說這Workers不是int,但我不知道如何修復(fù)它。我的代碼應(yīng)該做什么:創(chuàng)建 5 個(gè)以生命力 100 開頭的工人,我的工人名字就是當(dāng)前的生命力。假設(shè)他們一次去工廠生產(chǎn)一單位的產(chǎn)品,如果他們成功了,他們就會失去 10 單位的生命力,并回到隊(duì)列的最后,不得不在那里等待。但如果發(fā)生事故,他們會失去 100 個(gè)單位的生命力,死亡并從模擬中移除。只要還有工人活著,模擬就應(yīng)該運(yùn)行,并在最后打印出已經(jīng)生產(chǎn)了多少單位的產(chǎn)品。如果我刪除class Workers:第一個(gè)并將其更改def為class Roads::class Roads: def __init__(self): self._workers_road = [] for worker in range(5): self._workers_road.append(100)然后它工作得很好,但從class Workers:長遠(yuǎn)來看,我需要擴(kuò)展我的代碼并培育更多工人并將它們附加到class Roads:.import randomclass Workers: def __init__(self): self._worker = 100 def get_worker(self): return self._workerclass Products: def __init__(self): self._product = True def get_product(self): return self._productclass Roads: def __init__(self): self._workers_road = [] for worker in range(5): self._workers_road.append(Workers()) def workers_left(self): if len(self._workers_road) == 0: return Trueclass Storage: def __init__(self): self._product_stock = [] def add_product(self): self._product_stock.append(Products()) def get_product_stock(self): return 'Storage: ' + str(len(self._product_stock))class Plants: def __init__(self): self._plant_list = [] self._plant_storage = Storage() self._road = Roads() def add_worker(self): self._plant_list.append(self._road._workers_road[0]) self._road._workers_road.pop(0) def create_product(self): accident = random.randint(1,10) if accident < 5: self._plant_storage.add_product() self._plant_list[0] -= 10 else: self._plant_list[0] -= 100 def sub_worker(self): if self._plant_list[0] <= 0: self._plant_list.pop(0) else: self._road._workers_road.append(self._plant_list[0]) self._plant_list.pop(0)這似乎是一件相當(dāng)容易解決的事情,但我被困住了......
添加回答
舉報(bào)
0/150
提交
取消