Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I am having trouble with this program. IN PYTHON PLEASE We want to add a button

ID: 3822138 • Letter: I

Question

I am having trouble with this program.

IN PYTHON PLEASE

We want to add a button to the tally counter in Section 9.2 that allows an operator to undo an accidental button click. Provide a method - def undo(self)- that simulates such a button. As an added precaution, make sure an undo doesn't cause the counter to be less than zero. Test Case: Reset, 2 clicks, Print Value, 1 click, Print Value, 2 undos, Print Value, 2 undos, Print Value.

This is the tally counter from 9.2 that was given by the textbook:

class Counter:
def getValue(self):
return self._value
def click(self):
self._value= self._value + 1
def reset(self):
self._value= 0

tally= Counter()
tally.reset()
tally.click()
tally.click()

result = tally.getValue()
print("Value:", result)

tally.click()
result = tally.getValue()
print("Value:", result)

Your help is greatly appreciated!

Explanation / Answer

# pastebin link for code: https://pastebin.com/TgKjZDUm

class Counter:
def getValue(self):
return self._value
def undo(self):
if self._value > 0:
self._value = self._value - 1;
def click(self):
self._value= self._value + 1
def reset(self):
self._value= 0
tally= Counter()
tally.reset()
tally.click()
tally.click()
result = tally.getValue()
print("Value:", result)
tally.click()
result = tally.getValue()
print("Value:", result)

tally.undo()
tally.undo()
result = tally.getValue()
print("Value:", result)

tally.undo()
tally.undo()
result = tally.getValue()
print("Value:", result)