鱼C论坛

 找回密码
 立即注册
楼主: 新手·ing

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

  [复制链接]
发表于 2018-3-17 12:27:03 | 显示全部楼层
a = [1,3,56,44,78,2]
temp = 999 #temp保存最小值.先放个足够大的数

for i in range(len(a)-1):
    for j in range(i+1,len(a)):
        x= a[j]-a[i]
        if temp > abs(x):
            temp = abs(x)

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

使用道具 举报

发表于 2018-3-24 16:55:36 | 显示全部楼层
kkkk
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-3-28 13:14:59 | 显示全部楼层
刷题练手。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-29 10:07:04 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-3-30 00:16:17 | 显示全部楼层
n = int(input('输入数组的长度:'))
num_raw = [random.randint(1, 100) for i in range(n)]
print('原始数组为:%s' % num_raw)
length = len(num_raw)
temp_list = []
for i in range(1, length):
    for j in range(i, length):
        temp_list.append(abs(num_raw[i-1]-num_raw[j]))
print('两两之差绝对值最小的值为:%d ' % min(temp_list))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-30 10:55:02 | 显示全部楼层
import random
import math
def test17(n):
    num = []
    for i in range(n):
        num.append(random.randint(1,100))
    print(num)
    mini = 100
    for i in range(n):
        for j in range(i+1,n):
            temp = math.fabs(num[i] - num[j])
            if temp < mini:
                mini = temp
            if mini == 0:
                break
        if mini == 0:
            break
    print(mini)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-7 09:22:01 | 显示全部楼层
z1446773686 发表于 2018-3-9 19:12
def randlist():
    list1 = []
    import random

def a_b(list1,list2):
    for i in list1:
        for j in list1:
            for x in list2:
                if abs(i - j) == min(list2):
                    return i,j
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-9 22:03:01 | 显示全部楼层
'''
有一个整数数组,请求出两两之差绝对值最小的值,
记住,只要得出最小值即可,不需要求出是哪两个数。
'''
def findsubmin(listx):
    xlen=len(listx)
    lista=list(sorted(listx))
    listb=[]
    for i in range(xlen-1):
        listb.append(lista[i+1]-lista[i])
    return min(listb)
print(findsubmin([12,36,18,90,105,100,56,3,27,33]))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-10 10:26:26 | 显示全部楼层
楼主,你是一个大好人!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-27 10:30:57 | 显示全部楼层
import random
import math
num=int(input("请输入需要的个数:"))
list2=[]
ra=random.sample(range(-100,100),num)#取不同重复的随机数
for i in range(len(ra)-1):
    list2.append(math.fabs(ra[i]-ra[i+1]))
print(list2)
print(min(list2))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-3 15:56:58 | 显示全部楼层
import random
n = 10
Nums = random.choices([i for i in range(100)],k=n)
print('一个整数数组是:')
print(Nums)
Nums = sorted(Nums)
Result = []
for i in range(len(Nums)-1):
    Result.append(Nums[i+1]-Nums[i])
print(min(Result))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-3 15:57:33 | 显示全部楼层
jrro452 发表于 2018-5-3 15:56
import random
n = 10
Nums = random.choices(,k=n)

囧,忘了考虑绝对值了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-3 16:10:02 | 显示全部楼层
jrro452 发表于 2018-5-3 15:57
囧,忘了考虑绝对值了

import random
n = 10
Nums = random.choices([i for i in range(-100,100)],k=n)
print('一个整数数组是:')
print(Nums)
Nums = sorted(Nums)
Result = []
for i in range(len(Nums)-1):
    Result.append(abs(Nums[i+1]-Nums[i]))
print(min(Result))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-3 16:11:39 | 显示全部楼层
弱弱的想说···题主要么是出错题了,要么是代码写错了·····题目是说一组数据,题主代码求的是2组数据····
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-4 00:06:33 | 显示全部楼层
def boring():
    count = 0
    list1 = [x for x in range(0,5)]
    list_min = []
    list2 = list1[:]
    for i in list1:
        list2.remove(i)
        for j in list2:
            num = i - j
            list_min.append(num)
    print(min(list_min))
            
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-4 11:15:24 | 显示全部楼层
data = []

while True:
    x = input('请输入整数,输入其他字符结束输入:')
    if x.isdigit():
        data.append(int(x))
    else:
        break

if not data:
    print('无数据!')
else:
    result = []

    for i in range(len(data)):
        for each in data[i+1:]:
            result.append(abs(data[i] - each))

    result = set(result)
    result.remove(0)
    print(min(result))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-4 13:11:03 | 显示全部楼层
def foo(data1,data2):
    min=abs(data1[0]-data2[0])
    for i in data1:
        for j in data2:
            if abs(i-j)<min:
                min=abs(i-j)
    return min
a=[132,43,-1876,565,1]
b=[85,-63443,569,-1899,135]
c=foo(a,b)
print(c)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-12 13:30:08 | 显示全部楼层
a = input('请输入一个整数数组(以空格分隔):')
b = list(map(int,a.split(' ')))
print(b)
c = []

for i in range(0,len(b)):
    for j in range(i+1,len(b)):
        x = b[i] - b[j]
        if x >= 0:
            c.append(x)
        else :
            c.append(-x)

min_a = min(c)
print(min_a)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-18 10:40:37 | 显示全部楼层
不太会
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-18 11:24:27 | 显示全部楼层
def foo(date):
    a = []
    for i in range(len(date) - 1):
        for j in range(i + 1,len(date)):
            result = abs(date[i] - date[j])
            a.append(result)
    ans = min(a)
    print(ans)
        
刚做出来,比较任意两个数之差绝对值最小,不仅仅是相邻两个数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-16 06:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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