编程新血 发表于 2017-11-22 20:44:05

##生成列表
import random
l=[]
for i in range(10):
    l.append(random.randint(-100,100))
##题目大约是,求2数间最小间距,既排序后2数相减取绝对值
print(l)
l.sort()
l2=[]
for i in range(9):
    l2.append(-l),l,l])
n=min(l2)
print('最小差距是',n,'与',n,'的差距',n)

achencan 发表于 2017-11-23 18:12:55

def func(a,b):
    return abs(a-b)
import random
list1 =
print list1
list2 = []
for i in range(0,len(list1)+1):
    if i<=8:
      func(list1,list1)
      list2.append(func(list1,list1))
print list2
print min(list2)
   

shigure_takimi 发表于 2017-12-1 22:43:45

本帖最后由 shigure_takimi 于 2017-12-1 22:51 编辑

def minSub(lst):
    result = float('inf')
    for index1 in range(len(lst)-1):
      for index2 in range(index1+1, len(lst)):
            sub = abs(lst - lst)
            if sub < result:
                result = sub
    return result

list1 =
print(minSub(list1))

#9



def getMinSub(lst):
    newList = sorted(lst)
    allSub = -newList for i in range(len(lst)-1)]
    return min(allSub)
list1 =
list2 =
print(getMinSub(list1))
print(getMinSub(list2))

#1
#2

david_van 发表于 2017-12-11 17:20:34

灵饕餮 发表于 2017-4-3 16:51


兄弟,你这写法不妥当吧,你只是将数组的两个相邻的数进行了求差,而题中的两两之差应该是不仅仅只是相邻的两个数。我是这样子认为的,若相左还请指教

jina110 发表于 2017-12-17 22:04:13

data=
le=len(data)               

mini = abs(data-data)
for i in range(le-1):         #i只需要取倒数第二位即可
    for j in range(i+1,le):   #j从i后面那位开始取,这样不会取到同一个数
      small = abs(data-data)
      if small < mini:
            mini = small

print(mini)

kwty 发表于 2018-2-7 17:39:53

lst =
lst.sort()
min = lst - lst
for i in range(len(lst)-1):
        if (min > lst - lst):
                min = lst - lst
print(min)

victor.xu 发表于 2018-2-7 22:24:52

看看吧

小小小小东 发表于 2018-2-8 10:20:47

剃度出家

纳兰小寒 发表于 2018-2-26 22:22:27

a =
b = []
c = a
for x in a:
    b.append(abs(x - c))
    c = x
print(min(b))

topscien 发表于 2018-3-2 12:35:55

我是来抄答案的

AGXA 发表于 2018-3-7 21:04:52

a =
b = []

for k in range(len(a)):
    for z in range(k+1, len(a)):
      c = abs(a-a)
      b.append(c)

print b.min()

瞬秒爆加速 发表于 2018-3-7 23:04:03

本帖最后由 瞬秒爆加速 于 2018-3-7 23:05 编辑

min(abs(i-ii) for i in range(10) for ii in range(10))

大头目 发表于 2018-3-9 13:57:05

本帖最后由 大头目 于 2018-3-9 14:02 编辑

def fun(s):
      w = []
      for i in range(len(s)-1):
                result = abs(s-s)
                w.append(result)
      print(min(w))
list1 =
fun(list1)

Agoni 发表于 2018-3-9 15:03:33

瞅瞅

z1446773686 发表于 2018-3-9 16:14:40

def randlist():
    list1 = []
    import random
    math = random.randint(6,12)
    for i in range(0,math):
      number = random.randint(0,50)
      list1.append(number)
    return list1
def min_sum_(list1):
    list2 = []
    for i in list1:
      for j in list1:
            list2.append(i+j)
    return list2
while(True):
    list1 = randlist()
    list2 = min_sum_(list1)
    print(min(list2))
    guess = input('')
运行结果如下
>>>
24

z1446773686 发表于 2018-3-9 16:29:13

z1446773686 发表于 2018-3-9 16:14
def randlist():
    list1 = []
    import random


def randlist():
    list1 = []
    import random
    math = random.randint(6,12)
    for i in range(0,math):
      number = random.randint(0,50)
      list1.append(number)
    return list1
def min_sum_(list1):
    list2 = []
    for i in list1:
      for j in list1:
            if i != j:
                list2.append(i+j)
    return list2
def a_b(list1,list2):
    for i in list1:
      for j in list1:
            for x in list2:
                if i + j == min(list2):
                  print(i,j)
                  break
while(True):
    list1 = randlist()
    list2 = min_sum_(list1)
    print(list1,'\n',min(list2))
    a_b(list1,list2)
    guess = input('')
运行结果:
>>>

5
4 1
1 4

z1446773686 发表于 2018-3-9 19:12:58

def randlist():
    list1 = []
    import random
    math = random.randint(6,12)
    for i in range(0,math):
      number = random.randint(0,50)
      list1.append(number)
    return list1
def min_sum_(list1):
    list2 = []
    for i in list1:
      for j in list1:
            if i != j:
                list2.append(abs(i-j))
    return list2
def a_b(list1,list2):
    for i in list1:
      for j in list1:
            for x in list2:
                if abs(i - j) == min(list2):
                  print(i,j)
                  break
while(True):
    list1 = randlist()
    list2 = min_sum_(list1)
    print(list1,'\n',min(list2))
    a_b(list1,list2)
    guess = input('')
运行如下:

1
42 41
47 48
41 42
48 47

victor.xu 发表于 2018-3-11 09:38:40

def f(lis):
    lis1 = []
    for i in lis:
      for j in lis:
            if i != j:
                lis1.append(abs(i - j))
    lis1.sort()
    return lis1
a =
result = f(a)
print(result)

新手潘包邮 发表于 2018-3-16 20:27:46

a =
n = len(a)
m = []
for i in range(n):
        for j in range(i+1, n):
                m.append(abs(a - a))
print(min(m))

cccd 发表于 2018-3-16 20:39:21

初学者来看看大神们,学习学习
页: 1 2 [3] 4 5 6 7 8
查看完整版本: Python:每日一题 17(答题领鱼币)