我正在尝试制作一个简单的应用程序,通过以下公式获得任何人在测试中的分数:
分数=(成绩平均值)/差异 例如,如果你在20分中的分数是18分,而全班的平均分是15分,那么这个公式可以帮助你了解你的成绩与其他人相比如何。 我的代码在“读取点”列中打开位于我电脑中的excel文件,将它们写入列表,然后获取平均值和方差,并使用公式。 this is my excel file。 顺便说一句,excel中的分数仅用于测试。 我尝试过使用这些代码(我不太擅长使用类,我试图利用它): 这是第一个
class taraz:
def __init__(self,file_name,file_dir,your_point):
self.file_name=file_name
self.file_dir=file_dir
self.your_point=your_point
def sum_ave():
f=pandas.read_excel(r (file_dir))
point_list=f['point'].tolist()
sum1=sum(point_list)
ave1=sum1/len(point_list)
def variance():
for i in point_list:
var1=sqrt(((i-ave1)**2)/len(point_list))
def taraz1():
taraz1=(your_point-ave1)/var1
print(taraz1)
print(taraz1)
这是第二个:
def taraz(file_name,file_dir,your_point):
def sum_ave():
f=pandas.read_excel(r (file_dir))
point_list=f['point'].tolist()
sum1=sum(point_list)
ave1=sum1/len(point_list)
def variance():
for i in point_list:
var1=sqrt(((i-ave1)**2)/len(point_list))
def taraz1():
taraz1=(your_point-ave1)/var1
print(taraz1)
从我刚得到的第一个代码开始,输出如下: <main.taraz对象位于0x02528130>; 从第二个开始,我根本没有得到任何输出。 我很乐意使用您的提示谢谢anywas
没有理由使用pandas从excel文件中读取数据,然后将其转换为列表并重新执行基本向量操作,如均值和方差
输出:
在你的例子中,你有几个错误,我想评论一下
self
)是实例本身,我们可以在其中分配将存储在实例中的值,然后检索它们。例如,在上面代码的构造函数(__init__
)方法中,我们将一些内容分配给self.mean
,该值将存储在实例中,以便稍后在outscore
方法中使用它李>输出:
如您所见,熊猫数据帧实现向量运算,因此
(scores['point'] - mean) / var
被转换为整数向量减去一个浮点数,再除以一个浮点数,该运算的结果是一个浮点数向量,我们将其存储在“scores”列中。这样我们计算每一行的分数首先,了解变量的范围。如果一个变量是在一个方法中声明的,除非它声明为全局变量,否则只能从该方法访问它
当涉及到代码时,请在类中使用variance方法
variance
方法将如何理解point_lits
变量。它既没有定义也没有声明为全局/类变量其次,类的方法将采用通常定义为
self
的默认参数,除非它被修饰为classmethodcheck here了解self关键字第三个,类将具有对象,但函数不会。因此,您无法通过函数查看绑定对象
所以,添加self关键字后的代码如下所示
编辑:
()
用于调用方法或函数。这里func
是一个函数cla
是一个类。当您调用一个类时,它将返回该类的对象,因此您可以看到<main.cla对象位于0x0000019A5594450>;,但当您调用函数时,它将返回函数的响应。因为我的函数在这里没有任何内容,所以它没有返回任何内容相关问题 更多 >
编程相关推荐