Discuss / Python / 录入学生成绩并打印。

录入学生成绩并打印。

Topic source

建议大家写一个模块,里面存着所学的各种各样的类和方法,以后直接生成实例调用,巩固学习,例如今天所学的查分我写在了自己的模块中: kokoofive.py:

class Student(object):
    def __init__(self,name,score):
        self.name = name
        self.score = score

    def print_score(self):
        print('%s\'s score is %s' % (self.name,self.score))

    def return_grand(self):
        if self.score == 100:
            return 'S'
        elif self.score > 90:
            return 'A'
        elif self.score > 80:
            return 'B'
        elif self.score > 70:
            return 'C'
        elif self.score > 60:
            return 'D'
        else:
            return 'Bad'

前台调用的,例如我写了个test.py test.py:

from kokoofive import Student

Stu_L = []
while True:
    name = input('请输入名字:\n>')
    score = int(input('请输入成绩:\n>'))
    Stu_L.append(Student(name,score))
    request = input('需要继续输入吗?(Y / N)\n>')
    if request == 'y' or request == 'Y':
        continue
    else:
        print('录入的名字和成绩如下:')
        for i in Stu_L:
            print('姓名:%s 成绩:%d 评价:%s' % (i.name,i.score,i.return_grand()))
        break

感觉你做的这个还是面向过程的查分系统,为什么不能把查分这个方法也放进 student 类中呢,查分也应该是student的一个行为,那么他就应该有方法来查。你说呢? PS。这只是我对面向对象的一点小理解,对你写的代码的一点小建议。


  • 1

Reply