您好,欢迎来到步悠美食。
搜索
您的当前位置:首页python开发bisect

python开发bisect

来源:步悠美食
 现在有如下的需求:

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

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('学生成绩:{}
评定结果:{}'.format(student_scores, student_results))

if __name__ == '__main__':
 main()

Copyright © 2019- buun.com.cn 版权所有

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务