python-趣味百题4

此页面是否是列表页或首页?未找到合适正文内容。

python-趣味百题4

标签:maxrompythonand随机思路linapp平均值

1.赛场统分在编程竞赛中,有10个评委为参赛选手打分,分数为0-100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。思路:1).随机生成n个分数,放到列表s中2).找到最高分数和最低分数MaxScore,MinScore3).累加求和后减去最高分和最低分,除以n-2

import randomdef averageScore(n):   s = []   for i in range(n):     s.append(random.randint(0,100))   print s   maxScore = 0   minScore = 100   sumScore = 0   for k in s:     if maxScore < k:      maxScore = k     if minScore > k:      minScore = k     sumScore += k   return float(sumScore – maxScore – minScore) / (n – 2)

print averageScore(10)

列表解析:def averageScore2(n):   s = [random.randint(0,100) for i in range(n)]   return float(sum(s) – max(s) – min(s)) / (n – 2)print averageScore2(10)

2.回文数

回文数:是一种数字,如98789,这个数字正着读倒读都是98789判断一个数是否是回文数思路:1).取出每一个位放入列表2).a[i] == a[-i-1],i范围0-len(a)/2def isPalindromeNum(n):   a = []   while n > 0:     a.append(n % 10)     n /= 10   for i in range(len(a)/2):     if a[i] != a[-i-1]:     return False   return True print isPalindromeNum(n)

3.埃及分数式

分子是1的分数,叫单位分数。古代埃及人在进行分数运算时,只使用分子是1的分数,因此这种分数也叫做埃及分数式或者叫单分子分数。要求随便输入一个真分数,将该分数分解为埃及分数式,如3/7=1/3+1/11+1/231思路:1).对于一个真分数a/b,找最接近的1/k2).如果a % b == 0 ,找到k = b/a3).如果a % b != 0 ,找到k = b/a+1

def fun(a,b):   k = b / a   if b % a == 0:     res = ‘1/%s‘ % k   else:     k += 1     res = ‘1/%s + %s‘ % (k,fun(a * k – b,b * k))   return resprint fun(2,3)

python-趣味百题4

标签:maxrompythonand随机思路linapp平均值

原文地址:http://www.cnblogs.com/lucia8522/p/6808381.html

作者: 电脑大师

为您推荐

返回顶部