李子豪 发表于 2020-5-20 11:13:00

编写一个学生类的题求解

这道题是我从网上找的我真的不知道题是撒--我也不会 答案是唯一的 求人解答 讲解一下

Twilight6 发表于 2020-5-20 11:13:01

本帖最后由 Twilight6 于 2020-5-20 11:48 编辑

李子豪 发表于 2020-5-20 11:20
求助啊我题都看不懂

from random import *

class Student:
    __count = 0# 私有类属性

    def __init__(self,student_id):
      self.student_id = student_id
      Student.__count += 1

    def stu_disp(self):
      print('学号为:',self.student_id,'的同学')

    @staticmethod
    def disp():
      print('一共有',Student.__count,'名大学生')


def main():
    n = randint(1,100)
    for i in range(n):
      a = Student(randint(20191403201,20191403400))
      a.stu_disp()
    Student.disp()


if __name__ == '__main__':
    main()

Twilight6 发表于 2020-5-20 11:16:46

哈哈,我以为是继续出题来了

李子豪 发表于 2020-5-20 11:20:49

Twilight6 发表于 2020-5-20 11:16
哈哈,我以为是继续出题来了

求助啊我题都看不懂

Twilight6 发表于 2020-5-20 11:22:50

李子豪 发表于 2020-5-20 11:20
求助啊我题都看不懂

我试试看,我不一定会{:10_280:}

sunrise085 发表于 2020-5-20 11:38:21

本帖最后由 sunrise085 于 2020-5-20 12:11 编辑

from random import *
class Student:
    __all_stu=0
    def __init__(self,num):
      self.__num=num
      Student.__all_stu+=1
    def stu_disp(self):
      print("学号为:",self.__num,"的同学")
    @staticmethod
    def disp():
      print("总共有",Student.__all_stu,"名学生")
      
def main():
    n=randint(1,100)
    for i in range(n):
      a=Student(randint(20190403201,20190403400))
      a.stu_disp()
    Student.disp()
   
if __name__=='__main__':
    main()

Twilight6 发表于 2020-5-20 11:40:45

sunrise085 发表于 2020-5-20 11:38


大佬,你没有定义静态方法吧?{:10_297:}

李子豪 发表于 2020-5-20 11:43:13

sunrise085 发表于 2020-5-20 11:38


怎么和测试的不一样?题是什么意思我都没懂

Twilight6 发表于 2020-5-20 11:44:01

李子豪 发表于 2020-5-20 11:43
怎么和测试的不一样?题是什么意思我都没懂

测试肯定不一样 因为用的是randint随机数啊

李子豪 发表于 2020-5-20 11:45:17

sunrise085 发表于 2020-5-20 11:38


代码15行 140140 不是040 040

sunrise085 发表于 2020-5-20 12:09:59

Twilight6 发表于 2020-5-20 11:40
大佬,你没有定义静态方法吧?

哦哦,看错了。把静态方法看成类方法了。加上修饰符就搞定
页: [1]
查看完整版本: 编写一个学生类的题求解