首頁 >後端開發 >Python教學 >python開發bisect

python開發bisect

高洛峰
高洛峰原創
2016-12-14 15:45:121564瀏覽

現在有以下的需求:

'''
    实现这样的一个功能:
    对一个班级的学生的成绩做出一些评定,评定规则是:
    one: [0-60)     -- F
    two: [60-70)    -- D
    three: [70-80)  -- C
    four: [80-90)   -- B
    five: [90-100]  -- A
'''

python中的bisect可以實現上面的需求

python開發bisect

#python bisect
'''
    实现这样的一个功能:
    对一个班级的学生的成绩做出一些评定,评定规则是:
    one: [0-60)     -- F
    two: [60-70)    -- D
    three: [70-80)  -- C
    four: [80-90)   -- B
    five: [90-100]  -- A
    #########################################
    你很可能先想到使用:if....else...
    或者想到使用:switch...(java)
    ##########################################
    下面给出不使用以上两种方式实现这一功能
'''

import random
import bisect

def create_student_scores(n):
    #根据学生人数n,创建学生成绩
    if n >= 0:
        scores = []
        for x in range(n):
            scores.append(random.randrange(0, 101, 1))
        return scores
    else:
        print('the number should be greater than 0!')
    

def grade(score, breakpoints = [60, 70, 80, 90], grades = 'FDCBA'):
    i = bisect.bisect(breakpoints, score)
    return grades[i]

def main():
    student_scores = create_student_scores(10)
    student_results = [grade(score) for score in student_scores]
    print('学生成绩:{}\n评定结果:{}'.format(student_scores, student_results))

if __name__ == '__main__':
    main()

🎜🎜🎜🎜rrreee🎜🎜🎜
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn