Найти - Пользователи
Полная версия: простая задача по классам
Начало » Python для новичков » простая задача по классам
1
asdfr
Написать класс Weights, который представляет собой весы, на которые можно класть гири разной массы.
У него есть метод addWeight(w) - положить гирю с весом w килограмм,
метод getTotalWeight() - возвращающий суммарный вес всех гирь,
и метод clear() убирающий все гири.
+ конструктор не забудь

подсказка: внутри класса должно быть числовое поле w, в котором ты будешь накапливать текущий вес. w будет меняться с каждым вызовом addWeight и обнуляться с вызовом clear
 class Weights:
    
    def __init__(self):
        
        self.a=0
        
        
    def addWeight(self,w):
        self. a-= w
        
p = Weights()
p.addWeight(2)
print (p. a)
пытался вот так
помогите разобраться.с ооп первый раз имею делло
4kpt_IV
У Вас пошло нормально.
self.a поменять на self.w
При добавлении Вы что делаете? Неужели вес на весах уменьшается???
asdfr
4kpt_IV
У Вас пошло нормально.self.a поменять на sel.wПри добавлении Вы что делаете? Неужели вес на весах уменьшается???
все понял)))
a getTotalWeight() метод который накапливает вес.как лучше написать? не могу разобраться.
4kpt_IV
Он просто должен вернуть значение self.w, в которое накапливал данные…
asdfr
простите за тупость(не совсем понял . но как та так?
 class Weights:
    
    def __init__(self):
        
        self.a=0
        
        
    def addWeight(self,w):
        self. a+= w
        
    def getTotalWeight(self):
        self.a
        
p = Weights()
p.addWeight(2)
p.addWeight(7)
p.addWeight(12)
print (p. a)
p.getTotalWeight()
print(p.a)
зачем метод def getTotalWeight(self):
self.a делать если и так все сохраняется в def __init__(self):
self.a=0
а метод clear я могу просто создать def clear(self) : self.a=0
4kpt_IV
 #
class Weights:
    def __init__(self):
        self.weight = 0
    def addWeight(self, g):
        self.weight += g
    def getTotalWeight(self):
        return self.weight
#
p = Weights()
p.addWeight(2)
p.addWeight(7)
p.addWeight(12)
print(p.getTotalWeight())

Для первого раза сойдет.

P.S. Ну и усложним задачу. Если хотите. Сделать так, чтобы хранились гирьки в той последовательности, в которой добавляли. Добавить метод getWeightInfo() который бы возвращал такую информацию. Ну и предыдущие придется переписать
P.P.S. Когда Вы сделаете дополнительную задачу Вы поймете зачем нужен getTotalWeights…
asdfr
4kpt_IV
спасибо большое
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB