小五义 发表于 2013-1-1 22:34:47

python趣味编程:歌星大奖赛

<div id="cnblogs_post_body">题目:歌星大奖赛
内容:在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1到100分。选
手最后得分为去掉一个最高分和一个最低分后,其余8个分数的平均值。
问题分析和算法设计:
问题算法比较简单,主要是用到两个知识点,一是判断最大值和最小值,二是
计算平均值。
代码如下:
<div class="cnblogs_code">##@小五义 http://www.cnblogs.com/xiaowuyi'''题目:歌星大奖赛内容:在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1到100分。选手最后得分为去掉一个最高分和一个最低分后,其余8个分数的平均值。'''def inputscore(num):    i=True#判断输入的成绩是否合法    while i:      try:            print '评委%d:'%num            score=float(raw_input('请输入成绩(0-100):'))            if score>100 or score<0:                print '输入错误,请重新输入'                i=True            else:                i=False      except:            print '输入错误,请重新输入'            i=True    return scoreif __name__=='__main__':    sumscore=0#求和    maxscore=0#记录最大成绩    minscore=100#记录最小成绩    for i in range(10):      intscore=inputscore(i+1)      sumscore+=intscore      if intscore>maxscore:            maxscore=intscore      elif intscore<minscore:            minscore=intscore      averagescore=(sumscore-maxscore-minscore)/8.0#计算平均分    print '去掉一个最高分%f,去掉一个最低分%f,本选手的最后得分是%f'%(maxscore,minscore,averagescore)                  
页: [1]
查看完整版本: python趣味编程:歌星大奖赛