Я продолжаю сталкиваться с ошибкой: строковые индексы должны быть целыми числами при использовании заполнителей для моего скрипта.
Моя программа должна отслеживать рост овощей исключительно по расчетам.Идея состоит в том, что каждое растение имеет свои собственные характеристики (например, carrotData), но вместо того, чтобы иметь код для каждого 'plantData', я заменил код на (whichPlant, а затем whichPlantData) в качестве временного заполнителя (так что мне не нужен новый код длякаждое растение, которое есть в моем саду или которое я хочу добавить на более позднем этапе).
Это когда я получаю сообщение об ошибке в последней строке (Plant - это класс), помеченное звездочкой.Когда я использую (carrotData) вместо (whichPlantData), мой скрипт работает.Но как только я помещаю во временный заполнитель (whichPlantData) разрывы.
Что вызывает это (чтобы я мог избежать этого в будущих проектах) и как я могу это исправить?
спасибо за поддержку !!
carrotData = {'plantID': '','plantingTime': dt(year=now.year, month=3, day=1), "dateOfPlanting": 0, "numberOfPlants": 0, "germinationTime": 7, "growthTime": 227, "flowerTime": 247, "harvestTime": 254, "liveCycles": 1, "status": 0}
potatoData = {'plantID': '','plantingTime': dt(year=now.year, month=3, day=1), "dateOfPlanting": 0, "numberOfPlants": 0, "germinationTime": 7, "growthTime": 227, "flowerTime": 247, "harvestTime": 254, "liveCycles": 1, "status": 0}
print ("imported plant datasheets")
#functions:
#if plant is added
def addPlant():
whichPlant = input("Which plant do you want to add? ")
n = int(input("How many plants do you want to add? "))
i = 0
whichPlantData = whichPlant + "Data"
if whichPlant in inventory:
while i < n:
i += 1
if whichPlant in plants:
plants[whichPlant] += 1
else:
plants[whichPlant] = 1
***Error*** whichPlant = Plant("", whichPlantData['plantingTime'], dt.now(), n, dt.now() + timedelta(days=whichPlantData['germinationTime']), dt.now() + timedelta(days=whichPlantData['growthTime']), dt.now() + timedelta(days=whichPlantData['flowerTime']),whichPlantData['harvestTime'], whichPlantData['liveCycles'], whichPlantData['status'])