2017-08-16 3 views
-1

J'ai deux codes mais ils donnent des réponses différentes quelqu'un peut-il me dire la différence?Quelle est la différence entre plusieurs tentatives: sauf: les fonctions et les combiner?

Ceci est le premier:

number_in_red=[] 
for i in range(1, sheet.max_row +1): 
    try: 
     if 95<=int(sheet.cell(row=i,column=3).value[1:4])<=289: 
      number_in_red.append(i) 
    except ValueError: 
     try: 
      if 289>=int(sheet.cell(row=i,column=3).value[2:5])>=95: 
       number_in_red.append(i) 
     except ValueError: 
      try: 
       if 95<=int(sheet.cell(row=i,column=3).value[1:3]): 
        number_in_red.append(i) 
      except ValueError: 
       try: 
        if int(sheet.cell(row=i,column=3).value[2:4])>=95: 
         number_in_red.append(i) 
       except ValueError: 
        pass 

Comment est-ce second différent?

number_in_red=[] 
for i in range(1, sheet.max_row +1): 
    try: 
     if 95<=int(sheet.cell(row=i,column=3).value[1:4])<=289 or 289>=int(sheet.cell(row=i,column=3).value[2:5])>=95: 
      number_in_red.append(i) 
    except ValueError: 
     try: 
      if 95<=int(sheet.cell(row=i,column=3).value[1:3]) or int(sheet.cell(row=i,column=3).value[2:4])>=95: 
       number_in_red.append(i) 
     except ValueError: 
      pass 
+2

Puisque vous ne nous dites pas ce que 'sheet' est, vos extraits de code ne sont pas complets. Veuillez lire et suivre [Comment créer un exemple minimal, complet et vérifiable] (http://stackoverflow.com/help/mcve). –

Répondre

0

Dans le premier extrait, s'il y a un problème avec value[1:4] qui émet une exception (par exemple, ce sera un personnage qui fera int() soulever une exception) le code continuera et essayer d'évaluer value[2:5] vs le deuxième extrait où il va "sauter" à l'évaluation value[1:3]