python3 函数类型限制登录可解封_python再次解除绑定方法

这让我陷入了困境(抱歉,我对python还很陌生)

谢谢你的帮助。

错误print Student.MostFrequent() TypeError: unbound method

MostFrequent() must be called with

Student instance as first argument

(got nothing instead)

这个Student.MostFrequent()在末尾(最后一行)调用,def是类中的最后一个def

编辑-命名约定

我的长代码import csv

class Student:

sports = []

ftopics = []

stopics = []

choice_list = []

choice_dict = {}

def __init__(self, row):

self.lname, self.fname, self.ID, self.gender, self.sport, self.movie, self.movieyr, self.country, self.ftopic, self.stopic = row

self.sports.append(self.sport)

self.ftopics.append(self.ftopic)

self.stopics.append(self.stopic)

def print_information(self):

return (self.lname, self.fname, self.ID, self.gender)

def print_first(self):

return (self.lname, self.fname, self.sport)

def print_second(self):

return (self.lname, self.fname, self.movie, self.movieyr)

def print_third(self):

return (self.lname, self.fname, self.country)

def print_fourth(self):

return (self.lname, self.fname, self.ftopic, self.stopic)

def most_frequent(self):

for choice in self.choice_list:

self.choice_dict[choice] = self.choice_dict.get(choice, 0) + 1

self.mostFrequent = sorted([(v, k) for k, v in self.choice_dict.items()], reverse=True)

print self.mostFrequent

reader = csv.reader(open('new_mondy_csc_data_revise.csv'), delimiter=',', quotechar='"')

header = tuple(reader.next())

print "%-17s|%-10s|%-6s|%s" %header[:4]

print "-" * 45

students = list(map(Student, reader)) # read all remaining lines

for student in students:

print "%-17s|%-10s|%-6s|%3s" % student.print_information()

print "%-17s|%-10s|%s" %(header[0],header[1],header[4])

print "-" * 45

for student in students:

print "%-17s|%-10s|%s" %student.print_first()

print "%-17s|%-10s|%-16s|%s" %(header[0],header[1],header[5],header[6])

print "-" * 45

for student in students:

print "%-17s|%-10s|%-16s|%s" % student.print_second()

print "%-17s|%-10s|%s" %(header[0],header[1],header[7])

print "-" * 45

for student in students:

print "%-17s|%-10s|%s" %student.print_third()

print "%-17s|%-10s|%-15s|%s" %(header[0],header[1],header[8],header[9])

print "-" * 45

for student in students:

print "%-17s|%-10s|%-16s|%s" % student.print_fourth()

k = len(students)

# Printing all sports that are specified by students

for s in set(Student.sports): # class attribute

print s, Student.sports.count(s), round(((float(Student.sports.count(s)) / k) *100),1)

# Printing sports that are not picked

allsports = ['Basketball','Football','Other','Baseball','Handball','Soccer','Volleyball','I do not like sport']

allsports.sort()

for s in set(allsports) - set(Student.sports):

print s, 0, '0%'

Student.choice_list = Student.sports

X = Student()

X.most_frequent()

#class Search(Student):

# def __init__(self):

# Student.__init__

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值