私は自分のクラスをどのように初期化するべきかを考え出すのに苦労している。だから、私がこのようにすると結果は得られますが、ブール型も返されます。私はそれが正常な数字を任意のアイデアに戻したいだけですか?例。オッズPython Dictクラス初期化子を設定する
class DictSet:
def __init__(self, elements):
self.elements = {}
for i in elements:
self.elements[i] = True
def addElement(self, x):
self.elements.update(x)
def deleteElement(self, x):
for i in (self.elements):
if i == x:
del self.elements[x]
def member(self, x):
for i in (self.elements):
if i == x:
return True
return False #Checks if its an item
def intersection(self, set2):
add = []
for i in self.elements:
if i in set2.elements:
add.append(i)
return DictSet(add) # Returns Intersected New List
def union(self, set2):
return DictSet(list(self.elements.keys()) + list(set2.elements.keys())) #Puts all the elements together
def subtract(self, set2):
sub = []
for i in self.elements:
if i not in set2.elements:
sub.append(i)
return DictSet(sub) # Only return ones set of elements
def __repr__(self):
return "<Set: " + str(self.elements) + ">"
def main():
all = DictSet([1,2,3,4,5,6,7,8,9,10])
odds = DictSet([1,3,5,7,9])
evens = DictSet([2,4,6,8,10])
print("all", odds.union(evens))
print("all", evens.union(odds))
print("empty", odds.intersection(evens))
print("odds", all.intersection(odds))
print("odds", all.subtract(evens))
if __name__ == '__main__':
main()
couldntのフォーマット適切にこれ、あなたの辞書の値を使用したいのですが、唯一のキーはありませんので、いくつかの書式の問題
「正常な数字を返す」とはどういう意味ですか?何の関数から何の数を返しますか?あなたはこのクラスのセマンティクスが何であるべきかを記述していないので、私がコード内で見ているものがバグか意図どおりに動作しているかどうかはわかりません。 – Blckknght
@Blckknght申し訳ありません。私の最初の印刷物はすべてであるはずです。 「私は本当に変わってしまった:」、3: '、4:' '、5:' '、6:' '、7:'、8: ''、9: "最後のカップル分以内に。 –
WannaBeCoder