求大神帮忙做一道Python题,简易程序,Python2.7.13

Python2.7.13 尽量做得完美, 对了给财富值

#!/usr/bin/python
# -*- coding:utf-8 -*-


def lev(num):
    atype = isinstance(num, (int, float, long))
    if atype is True:
        if 90 <= num <= 100:
            return 'A'
        elif 80 <= num < 90:
            return 'B'
        elif 70 <= num < 80:
            return 'C'
        elif 60 <= num < 70:
            return 'D'
        elif num < 60:
            return 'E'
    else:
        return '请输入正确分数'


if __name__ == '__main__':
    student_num,anum = input(u'请输入学生学号及考试成绩,以英文逗号相隔:')
    result = lev(anum)
    if result not in 'ABCDE':
        print result
    else:
        print u'学生{0}的成绩的等级是:{1}'.format(student_num, result)

追问

运行出来乱码

追答

你什么环境?不行就把中文前面的u去掉

追问

win10环境
我想要的是可以录入多个 人的学号 和 成绩,然后通过查找学号,可以自动显示该同学的成绩等级

追答

问题么说清楚咯。不急明天再说吧

追问

急啊 解答好再加50啊

追答#!/usr/bin/python
# -*- coding:utf-8 -*-
# @File    : Student_Achievement.py 
"""
录入学生学号及成绩,通过学号查询成绩等级
"""


def lev(num):
   """判断成绩等级""" 
    atype = isinstance(num, (int, float, long))
    if atype is True:
        if 90 <= num <= 100:
            return 'A'
        elif 80 <= num < 90:
            return 'B'
        elif 70 <= num < 80:
            return 'C'
        elif 60 <= num < 70:
            return 'D'
        elif num < 60:
            return 'E'
    else:
        return '请输入正确分数'


if __name__ == '__main__':
    student_num = input(u'请输入学生人数:')
    cunt = 0
    student_dict = {}
    while cunt < student_num:
        student_code, anum = input(u'请输入学生学号及考试成绩,以英文逗号相隔:')
        result = lev(anum)
        if result not in 'ABCDE':
            print u'成绩输入错误,请重新输入'
            continue
        else:
            student_dict.setdefault(student_code, result)
            cunt += 1

    check_num = input(u'请输入需要查询成绩的学生学号:')
    if student_dict.has_key(check_num):
        print u'学生{0}的成绩的等级是:{1}'.format(check_num, student_dict[check_num])
    else:
        print u'没有该学生成绩信息。'

温馨提示:答案为网友推荐,仅供参考
相似回答