鱼C论坛

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

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

  [复制链接]
发表于 2018-3-16 20:39:21 | 显示全部楼层
初学者来看看大神们,学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-17 12:27:03 | 显示全部楼层

  1. a = [1,3,56,44,78,2]
  2. temp = 999 #temp保存最小值.先放个足够大的数

  3. for i in range(len(a)-1):
  4.     for j in range(i+1,len(a)):
  5.         x= a[j]-a[i]
  6.         if temp > abs(x):
  7.             temp = abs(x)

  8. 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 | 显示全部楼层
  1. n = int(input('输入数组的长度:'))
  2. num_raw = [random.randint(1, 100) for i in range(n)]
  3. print('原始数组为:%s' % num_raw)
  4. length = len(num_raw)
  5. temp_list = []
  6. for i in range(1, length):
  7.     for j in range(i, length):
  8.         temp_list.append(abs(num_raw[i-1]-num_raw[j]))
  9. 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 | 显示全部楼层
  1. '''
  2. 有一个整数数组,请求出两两之差绝对值最小的值,
  3. 记住,只要得出最小值即可,不需要求出是哪两个数。
  4. '''
  5. def findsubmin(listx):
  6.     xlen=len(listx)
  7.     lista=list(sorted(listx))
  8.     listb=[]
  9.     for i in range(xlen-1):
  10.         listb.append(lista[i+1]-lista[i])
  11.     return min(listb)
  12. 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))
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 | 显示全部楼层
  1. a = input('请输入一个整数数组(以空格分隔):')
  2. b = list(map(int,a.split(' ')))
  3. print(b)
  4. c = []

  5. for i in range(0,len(b)):
  6.     for j in range(i+1,len(b)):
  7.         x = b[i] - b[j]
  8.         if x >= 0:
  9.             c.append(x)
  10.         else :
  11.             c.append(-x)

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 15:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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