鱼C论坛

 找回密码
 立即注册
查看: 12425|回复: 143

[技术交流] Python:每日一题 17(答题领鱼币)

  [复制链接]
发表于 2017-4-3 09:59:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
有一个整数数组,请求出两两之差绝对值最小的值,
记住,只要得出最小值即可,不需要求出是哪两个数。



如果你认真答题,会得到鱼币奖励!!!
                      如果你认真答题,会得到鱼币奖励!!!
                                              如果你认真答题,会得到鱼币奖励!!!



欢迎小伙伴们,一起答题!
如果你有能力,欢迎加入我们!
已经上车老司机:@ooxx7788 @lumber2388779   
点我上车

游客,如果您要查看本帖隐藏内容请回复


另一个赚鱼币的快传捷方法!如果你有好题目或者是题库,都给我发过来,马上我就没有题啦!!!传送门

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-4-3 10:01:47 | 显示全部楼层
@lumber2388779 @ooxx7788 @gopythoner @冬雪雪冬 @jerryxjr1220
老伙计们来吧!还有,给我提供点Python题吧我快没题了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-3 12:29:34 | 显示全部楼层
def foo(data):
    b=[]
    le = len(data)
    for i in range(0,le):
        b.append(data[i])
    min=abs(data[0]-b[1])
    for i in range(le):
        for j in range(le):
            if i == j:
                break
            if abs(data[i]-b[j])< min:
                min=abs(data[i]-b[j])
    return min

a=[1,50,10,100,15]
print(foo(a))

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
新手·ing + 3 + 3 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-3 13:35:16 | 显示全部楼层
  1. def test17(my_list):
  2.     the_list = []
  3.     for i in my_list:
  4.         for k in my_list:
  5.             n = abs(i-k)
  6.             the_list.append(n)
  7.     # 下面2句是为了清除差列表中自身相减得到的0
  8.     for t in range(1,len(my_list)+1):
  9.         the_list.remove(0)
  10.     minnum = min(the_list)
  11.     return minnum

  12. if __name__ == '__main__':
  13.     a = [1,4,7,9,34,5,8]
  14.     print(test17(a))
复制代码


>>>1

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
新手·ing + 3 + 3 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

发表于 2017-4-3 15:19:55 | 显示全部楼层
#coding=cp936
array=input('请输入一个整数数组:')
check=0
#设置一个变量check用于检测用户输入的是否是纯整数数组,check为1时才可进行查找最小值
while True:
    global check
    for i in array:
        if not isinstance(i,int):
            array=input('输入有误,请重新输入:')
            break
        else:
            check=1
            #输入数组检测
    if check==1:
        result_array=[]
        for i in array:
            for j in array[array.index(i)+1:]:
                result_array.append(i-j)
        break
            #让原数组中的每个元素依次与其后面元素相减,并把差值塞入数组result_array
for i in result_array:
    result_array[result_array.index(i)]=abs(i)
    #将result_array数组中的每一个值转换为绝对值
result_array.sort()
    #对result_array数组进行排序
print '最小差为'+str(result_array[0])

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
新手·ing + 3 + 3 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-3 15:28:09 | 显示全部楼层
为什么我都不会做  呜呜
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-3 15:37:42 | 显示全部楼层
yjq随风 发表于 2017-4-3 15:28
为什么我都不会做  呜呜

再多学习吧,我也是新手的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-3 15:38:30 | 显示全部楼层
@冬雪雪冬 还不快来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-3 16:51:25 | 显示全部楼层
本帖最后由 灵饕餮 于 2017-4-3 16:52 编辑
  1. def foo(s):
  2.         w = []
  3.         for i in range(len(s)-1):
  4.                 result = abs(s[i]-s[i+1])
  5.                 w.append(result)
  6.         print(min(w))
  7. test = [1,3,56,44,78,2]
  8. foo(test)
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
新手·ing + 3 + 3 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-3 17:27:54 | 显示全部楼层
新手·ing 发表于 2017-4-3 15:38
@冬雪雪冬 还不快来

俺来了~~
  1. lst = [132,43,-1876,565,1,85,-63443,569,-1899,135]
  2. lst.sort()
  3. m = min([abs(lst[i] - lst[i + 1]) for i in range(len(lst) - 1)])
  4. print(m)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2017-4-3 22:01:27 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-4 09:55:52 | 显示全部楼层
我来答题的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-4 09:59:46 | 显示全部楼层

答题吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-5 11:53:37 | 显示全部楼层
  1. def getMin(integerList):
  2.     sortedList = sorted(integerList)
  3.     subList = []
  4.     for i in range(len(integerList)):
  5.         subList.append(abs(sortedList[i] - sortedList[i - 1]))
  6.     return min(subList)

  7. a = [1, 4, 6, 7, 10]
  8. print(getMin(a))                #  Output --> 1


  9. b = [92, 53, 96, 28, 34, 63, 75, 35, 13, 95]
  10. print(getMin(b))                #  Output --> 1
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
新手·ing + 3 + 3 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-5 13:20:34 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-4-5 13:23:08 | 显示全部楼层
好好学习,天天向上
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-5 14:57:35 | 显示全部楼层
  1. #!/usr/bin/env python
  2. # coding=utf-8
  3. #python 2.7
  4. from itertools import combinations
  5. print min([abs(i[0]-i[1]) for i in combinations([1,3,56,44,78,2], 2)])
  6. print reduce(lambda x,y:[y,x][x<y] ,[abs(i[0]-i[1]) for i in combinations([1,3,56,44,78,2], 2)])
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
新手·ing + 3 + 3 捕获一只大佬

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-6 08:31:54 | 显示全部楼层
lists1=input('请输入一个整数组:')
lists2=[]
for i in range(1,len(lists1)):
    lists2.append(abs(lists1[i]-lists1[i-1]))
print(min(lists2))

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
新手·ing + 3 + 3 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-11 22:37:25 | 显示全部楼层
本帖最后由 余欲渔 于 2017-4-11 22:41 编辑

随机生成两组30位的数组,合并成y并排序好,两两求差放入x,x求绝对值,输出x的最小值
  1. import random
  2. n=30
  3. y1=[random.randint(-1000,1000) for i in range(n)]
  4. y2=[random.randint(-1000,1000) for i in range(n)]
  5. y=sorted(y1+y2)
  6. print(y)
  7. x=[]
  8. for i in range(n-1):
  9.     x.append(y[i+1]-y[i])
  10. x=[abs(i) for i in x]
  11. print(min(x))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-14 14:15:19 | 显示全部楼层
本帖最后由 奔跑的小鱼 于 2017-4-14 14:17 编辑

s= [1,3,4,7,20,65]
sorted(s)
a=[abs(s-s[i-1]) for i in range(1,len(s))]
print(min(a))

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
新手·ing + 3 + 3 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-28 17:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表