ce faisant pour un devoir, ne comprennent pas comment cela fonctionnerait, donc l'explication avec des étapes aidera beaucoup. La question est difficile à comprendre, donc n'ont pas pu comprendre et essayer. Voici la question, divisée en 3 parties. Vous obtenez la superclasse suivante. Ne modifiez pas cela.python travaillant avec des classes ajoutant joindre des éléments de suppression
class Container(object):
""" Holds hashable objects. Objects may occur 0 or more times """
def __init__(self):
""" Creates a new container with no objects in it. I.e., any object
occurs 0 times in self. """
self.vals = {}
def insert(self, e):
""" assumes e is hashable
Increases the number times e occurs in self by 1. """
try:
self.vals[e] += 1
except:
self.vals[e] = 1
def __str__(self):
s = ""
for i in sorted(self.vals.keys()):
if self.vals[i] != 0:
s += str(i)+":"+str(self.vals[i])+"\n"
return s
Écrivez une classe qui implémente les spécifications ci-dessous. Ne remplacez aucune méthode de Container.
class Bag(Container):
def remove(self, e):
""" assumes e is hashable
If e occurs one or more times in self, reduces the number of
times it occurs in self by 1. Otherwise does nothing. """
# write code here
def count(self, e):
""" assumes e is hashable
Returns the number of times e occurs in self. """
# write code here
• Par exemple, d1 = Sac()
d1.insert(4)
d1.insert(4)
print(d1)
d1.remove(2)
print(d1)
prints 4:2
4:2
• Par exemple, d1 = Sac()
d1.insert(4)
d1.insert(4)
d1.insert(4)
print(d1.count(2))
print(d1.count(4))
prints 0
3
Deuxième partie:
Ecrivez une méthode Sac tel que si b1 et b2 étaient des sacs alors b1 + b2 donne un nouveau sac représentant l'union des deux sacs.
• Par exemple, a = Sac()
a.insert(4)
a.insert(3)
b = Bag()
b.insert(4)
print(a+b)
prints 3:1
4:2
troisième partie:
Ecrivez une classe qui implémente les spécifications ci-dessous. Ne remplacez aucune méthode de Container.
class ASet(Container):
def remove(self, e):
"""assumes e is hashable
removes e from self"""
# write code here
def is_in(self, e):
"""assumes e is hashable
returns True if e has been inserted in self and
not subsequently removed, and False otherwise."""
# write code here
• Par exemple, d1 = ARéglez()
d1.insert(4)
d1.insert(4)
d1.remove(2)
print(d1)
d1.remove(4)
print(d1)
prints 4:2 # from d1.remove(2) print
# (empty) from d1.remove(4) print
• For example, d1 = ASet()
d1.insert(4)
print(d1.is_in(4))
d1.insert(5)
print(d1.is_in(5))
d1.remove(5)
print(d1.is_in(5))
prints True
True
False
Merci.
Corrigez votre indentation. – Rahul
Cela ressemble plus à une question pour votre professeur ou TA - vous êtes simplement en train de jeter tout un ensemble de problèmes ici. Si vous pouvez l'affiner à quelque chose de spécifique et montrer au moins une tentative de résoudre cela, alors il pourrait être sur le sujet. Sinon, c'est trop large. –
Avez-vous eu la troisième partie correcte? –