鱼C论坛

 找回密码
 立即注册
楼主: 冬雪雪冬

[技术交流] Python:每日一题 219

[复制链接]
发表于 2018-12-13 10:48:07 | 显示全部楼层
  1. def fun219(*arg):
  2.     l = list(arg)
  3.     l.sort()
  4.     l = l[1:len(l)-1]
  5.     return sum(l)/len(l)
  6.    
  7. print(fun219(95, 33, 72, 88, 98, 45, 66, 72))
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-13 10:50:51 | 显示全部楼层
  1. def fun219(*x):
  2.     return sum([i for i in x if i != max(x) and i != min(x)])/(len(x)-2)
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-13 12:18:55 | 显示全部楼层
def fun219(*scores):
    scores = [y for x, y in enumerate(sorted(scores)) if x!=0 and x!=len(scores)-1]
    return sum(scores)/len(scores)

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-13 14:11:26 | 显示全部楼层
def fun(*a):
   
   max=min=a[0]
   sum=0
   
   for each in a:
      sum+=each
      if each>max:
         max=each
      if each<min:
         min=each
   return (sum-min-max)/(len(a)-2)

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-13 15:20:04 | 显示全部楼层
本帖最后由 爱学习的喵 于 2018-12-13 15:23 编辑

def func219(*numbers):
    array = list(numbers)
    array.sort()
    return sum(array[1:-1]) / (len(array)-2)

if __name__ == '__main__':
    print(func219(95, 33, 72, 88, 98, 45, 66, 72))

#能想到最短的解决方法

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-13 16:36:07 | 显示全部楼层
  1. def fun219(*point):
  2.    
  3.     point=list(point)
  4.     point=sorted(point)
  5.    
  6.     del point[0]
  7.     del point[-1]
  8.    
  9.     total=0
  10.     for i in point:
  11.         total+=i
  12.     number=len(point)
  13.     ave=total/number
  14.     return ave
复制代码

  1. ==================== RESTART: 219.py ====================
  2. >>> fun219(95, 33, 72, 88, 98, 45, 66, 72)
  3. 73.0
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2018-12-13 20:08:32 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-14 15:59:52 | 显示全部楼层
def fun219(*par):
    print('The number of scores were: %d' %len(par))
    count = 0
    for each in par:
        count += each
    return (count-max(par)-min(par)) / (len(par)-2)

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-14 20:54:26 | 显示全部楼层
def fun219(*arg):
        sum = 0
       
        for e in arg:
                sum = e + sum

        average = (sum - min(arg) - max(arg)) / (len(arg)-2)

        return average


print(fun219(95, 33, 72, 88, 98, 45, 66, 72))

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-14 22:58:44 | 显示全部楼层
  1. def fun219(*args):
  2.     return sum([i for i in args if i != max(args) and i != min(args)])/(len(args)-2)
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-15 11:55:18 | 显示全部楼层
  1. def fun219(*scores):
  2.     list_s = list(scores)
  3.     list_s.pop(list_s.index(max(list_s)))
  4.     list_s.pop(list_s.index(min(list_s)))
  5.     total = 0
  6.     for each in list_s:
  7.         total += each
  8.     return total/len(list_s)

  9. if __name__ == '__main__':
  10.     print('平均分是: %.1f' % fun219(95, 33, 72, 88, 98, 45, 66, 72) )
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-15 14:41:54 | 显示全部楼层
import random
list1=range(70,100)
list2=random.sample(list1,5)
list4=list2[:]
list2.remove(max(list2))
list2.remove(min(list2))
list3=list2
a=float(sum(list3))/float(len(list3))
print('%.2f' % a)
print(list2)
print(list4)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-15 15:59:34 | 显示全部楼层
def fun219(*v):
        ls = []
        for j in v:
            ls.append(j)
        ls.sort()

        ls = ls[1:-1]
        num = 0
        for i in ls:
            num += i
        result = num/len(ls)
        return result

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-15 18:52:50 | 显示全部楼层
def fun219(*par)
    m=max(*par)
    n=min(*par)
    mean=(*par-m-n)/length(*par-m-n)
    return mean
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-16 13:07:23 | 显示全部楼层
有段时间没写了,参与一下

  1. def fun219(*v):
  2.     count = 0
  3.     sum_i = 0
  4.     num1 = v[0]
  5.     num2 = v[0]
  6.     for i in v:
  7.         if i >= num1:
  8.             num1 = i
  9.         if i <=num2:
  10.             num2 = i
  11.         sum_i += i
  12.         count += 1
  13.     return (sum_i - num1 - num2)/(count-2)

  14. fun219(6,8,1,2,3,4,5,12,4,66.6)
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-16 22:26:06 | 显示全部楼层
  1. def fun219():
  2.         a = input('请输入评分,以逗号隔开:')
  3.         b = a.split(',')
  4.         for i in range(0,len(b)):
  5.                 b[i]=int(b[i])
  6.         b.sort()
  7.         total = 0
  8.         for i in range(1,len(b)-1):
  9.                 total = total + b[i]
  10.         average = total / (len(b)-2)
  11.         print('%.2f'%average)
复制代码

点评

要求编写可变数量参数的函数  发表于 2018-12-19 19:33
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-17 09:15:00 | 显示全部楼层
def fun219(*shu):
        l = list(shu)
        l.remove(max(l))
        l.remove(min(l))
        a = 0
        b = 0
        for i in l:
                a += i
                b += 1
        return a / b

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-17 10:42:03 | 显示全部楼层
  1. def fun219(*scores):
  2.     s = list(scores)
  3.     s.sort()
  4.     s = s[1:-1]
  5.     return sum(s)/len(s)
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-17 18:24:08 | 显示全部楼层
本帖最后由 heidern0612 于 2018-12-19 20:05 编辑
  1. def scores (*score):
  2.     list1= []
  3.     for i in score:
  4.         list1.append(i)
  5.     list1.sort,list1.pop(0),list1.pop   #排序,弹出首、尾元素
  6.     gal = sum (list1)
  7.     final_scores =round(gal/len(list1),1)
  8.     return final_scores

  9. print(scores(95,33,72,88,98,45,66,72))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-18 12:01:43 | 显示全部楼层
本帖最后由 TCY 于 2018-12-18 13:24 编辑
  1. def fun219(*nums):
  2.     nums = list(nums)
  3.     nums.remove(max(nums))
  4.     nums.remove(min(nums))
  5.     return sum(nums) / len(nums)
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-19 04:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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