刷题小技巧——while true

在刷剑指offer的时候,发现很多高效的代码在主程序入口处会使用while true try except 的改写方式。这种改写方式会使程序更加高效,鲁棒性更强。

def func():
    pass

while True:
    try:
        func()
        # do something such as print or something else
    except:
        # do something such as break

while true 会使try语句一直运行,直到except出现break。解读貌似是这样子。没有仔细深究,就暂时Mark一下,权当记录。
————————————————————————————————————————————————————

实例:(快被这个搞死了)

import sys
while True:
    try:
        arr = []
        n = int(raw_input())
        for i in range(n):
            num = int(raw_input())
            arr.append(num)
        res = sorted(list(set(arr)))
        for i in res:
            print i
    except:
        break

 
 
import sys
  
while True:
    try:
        data=[]
        new_data=[]
  
        n=int(sys.stdin.readline()[:-1])
  
        for i in range(n):
            a=int(sys.stdin.readline()[:-1])
            data.append(a)
  
        new_data=list(set(data))
        new_data.sort()
  
        for j in new_data:
            print j
    except:
        break


猜你喜欢

转载自blog.csdn.net/sinat_24648637/article/details/80174538