2017-08-16 31 views
-1

我有两个代码,但他们给不同的答案有人可以告诉我的区别?多次尝试之间有什么区别:除了:函数和它们的组合?

这是第一个:

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 

这是怎么回事第二个不同?

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

由于您不告诉我们“sheet”是什么,您的代码片段并不完整。请阅读并遵循[如何创建最小,完整和可验证示例](http://stackoverflow.com/help/mcve)。 –

回答

0

在第一个片段,如果有与value[1:4]会抛出异常的问题(例如,这将是这将导致int()引发异常的角色)的代码将继续,并尝试评估value[2:5] VS第二个代码片段将跳转到value[1:3]

相关问题