Come dice la discussione ho il problema che devo eseguire nuovamente l'istruzione dentro al try dopo che ho gestito una eccezione con except e non so proprio come fare. Dopo che ha gestito il primo except blocca il calcolo giustamente, ma io dovrei continuare a calcolare con il metodo del try :(
Questo è lo stralcio di codice che mi ha portato a questo dubbio.
for i in range(1,len(RL)-2,3): #angle every three points
#condition for having a measurable angle
if (RL[i][1] < RL[i-1][1]) and (RL[i][1] < RL[i+1][1]):
try:
primo_ang = -(math.atan((RL[i][1]-RL[i-1][1])/(RL[i][0]-RL[i-1][0])))*180/math.pi
secondo_ang = 180-(math.atan((RL[i+1][1]-RL[i][1])/(RL[i+1][0]-RL[i][0])))*180/math.pi
angolo = abs(secondo_ang-primo_ang)
print(angolo)
except ZeroDivisionError:
primo_ang = 90
secondo_ang = 180-(math.atan((RL[i+1][1]-RL[i][1])/(RL[i+1][0]-RL[i][0])))*180/math.pi
angolo = abs(secondo_ang-primo_ang)
print(angolo)
# except ZeroDivisionError:
# primo_ang = -(math.atan((RL[i][1]-RL[i-1][1])/(RL[i][0]-RL[i-1][0])))*180/math.pi
# secondo_ang = 90
# angolo = abs(secondo_ang-primo_ang)
# print(angolo)
La parte commentata in fondo è un plus per gestire un secondo errore che però è sempre una divisione per zero ma va gestita diversamente dalla prima, se riuscite ad aiutarmi anche con quest'ultima cosa ve ne sarei grato. Saluti a tutti.