【发布时间】:2013-07-09 17:11:45
【问题描述】:
好的,这是我的课:
class Vec:
"""
A vector has two fields:
D - the domain (a set)
f - a dictionary mapping (some) domain elements to field elements
elements of D not appearing in f are implicitly mapped to zero
"""
def __init__(self, labels, function):
self.D = labels
self.f = function
我需要帮助创建一个包含两个向量的函数,比如说:
u = Vec({'a','b','c'}, {'a':0,'c':1,'b':4})
v = Vec({'A','B','C'},{'A':1})
函数相等:
equal(u,v)
应该返回:
false
到目前为止,我已经尝试过:
v = Vec({'x','y','z'},{'y':1,'x':2})
u = Vec({'x','y','z'},{'y':1,'x':0})
def equal(u,v):
"Returns true iff u is equal to v"
assert u.D == v.D
for d in v.f:
for i in u.f:
if v.f[d] == u.f[i]:
return True
else:
return False
print (equal(u,v))
我知道这是不正确的,因为它只查看最后一个值:'y':1,我如何检查两者?
【问题讨论】:
-
SO 不是代码编写服务。你试过什么?
-
我的坏@Steve P。我现在一定要改变我的礼仪。
-
好的,我试过这个:
v = Vec({'x','y','z'},{'y':1,'x':2})u = Vec({'x','y','z'},{'y':1,'x':0})def equal(u,v): "Returns true iff u is equal to v" assert u.D == v.D for d in v.f: for i in u.f: if v.f[d] == u.f[i]: return True else: return False print (equal(u,v))我得到true这是不正确的,因为它只查看最后一个值:'y':1,我该如何检查两者兼得? -
编辑您的帖子,而不是在这里发表评论。
标签: python class function vector python-3.x