Je tente d'utiliser la fonction suivante pour simuler des charges sur une poutre:Python: TypeError: objet « NoneType » est pas Iterable
def simulateBeamRun(personList, beam, times):
Je suis venu avec le code suivant à ce jour:
def createPersonList(fileName):
"""Function will go through each line of file and
create a person object using the data provided in
the line and add it to a list
"""
theFile = open(fileName)
next(theFile)
#array = []
for line in theFile:
aList = line.split(',')
bList = map(lambda s: s.strip('\n'), aList)
cList = [float(i) for i in bList]
print cList
def simulateBeamRun(personList, beam, times):
"""Takes a list of times covering the duration of
the simulation (0-35 s), the list of person
objects and a beam object to simulate a beam run
"""
dList = []
for time in times:
eList = []
for person in personList:
loadTuples = personModel.person.loadDisplacement(time)
if beamModel.beam.L > loadTuples[1] > 0:
eList.append(loadTuples)
else:
return None
beamModel.beam.setLoads(eList)
dList.append(beamModel.beam.getMaxDeflection())
Cependant, je reçois l'erreur suivante lorsque vous essayez d'exécuter la fonction (avant que je lui donne des entrées:
for person in personList:
TypeError: 'NoneType' object is not iterable
'personList' est' None'. Les parties pertinentes de votre code sont manquantes. – timgeb
Vous devez vous assurer que personList n'est pas None – BAE
Ajout du code approprié. Comment pourrais-je faire personList pas non. – Student1001