hmchzb19 发表于 2014-05-26 20:11

写了一段寻找列表里面最相近两个数的code

from random import randrange

seq=

def method1():
    dd=float("inf")
    for x in seq:
      for y in seq:
            if x==y:continue
            d=abs(x-y)
            if d<dd:
                xx,yy,dd=x,y,d
    print xx,yy


def method2():
    dd=float("inf")
    for i in range(len(seq)-1):
      x,y=seq,seq
      if x==y: continue
      d=abs(x-y)
      if d<dd:
            xx,yy,dd=x,y,d
    print xx,yy




method1()
print
method2()但是为什么我每次跑出来两个函数的结果都不一样呢?

876550299 878253341

4797622968 4885940898

timespace 发表于 2014-05-26 21:03

本帖最后由 timespace 于 2014-05-26 21:04 编辑

第一种算法是列表里任意两个。第二种算法是列表里相邻两个。你的意图是?

hmchzb19 发表于 2014-05-27 09:24

我的意图是找到两个差最小的数,第二个方法应该先sort,我忘了

页: [1]
查看完整版本: 写了一段寻找列表里面最相近两个数的code