HW7 with py, testpy, and two txt

This commit is contained in:
2023-06-09 17:04:23 -07:00
parent e75cba4117
commit 582e2bcfe1
4 changed files with 263 additions and 0 deletions
+77
View File
@@ -0,0 +1,77 @@
########## Some commands in pdb ##########
# help: Display a list of available pdb commands or get help on a specific command.
# break or b: Set a breakpoint at a specific line or function.
# continue or c: Continue execution until the next breakpoint or the program finishes.
# step or s: Step into the next line of code, diving into function calls.
# next or n: Step over the next line of code, without diving into function calls.
# return or r: Continue execution until the current function returns.
# list or l: Show the current line of code and surrounding lines.
# print or p: Evaluate and print the value of an expression or variable.
# watch: Set a watchpoint on an expression or variable. The debugger will break when the value changes.
# quit or q: Quit the debugger and stop execution.
########## There is a main() function at the end ##########
# 2. Provide an example script where setting a breakpoint on a particular line
# Then using either step over or step into will yield the same result.
class Same_StepOverStepInto_Result:
def calculation2(self, a, b):
result = a + b
product = self.multiply(a, b) # Step into this method call
breakpoint() # Set a breakpoint here
print(f"The sum is: {result}")
print(f"The product is: {product}")
def multiply(self, x, y):
return x * y
# calculator2 = Same_StepOverStepInto_Result()
# calculator2.calculation2(6, 7)
# 3. Here is another example which will provide different results from 'step' and 'next' commands
class Diff_StepOverStepInto_Result:
def multiply(self, a, b):
return a * b
def calculation3(self, a, b):
result = a + b
breakpoint() # Set a breakpoint here
product = self.multiply(a, b)
print(f"The sum is: {result}")
print(f"The product is: {product}")
# calculator3 = Diff_StepOverStepInto_Result()
# calculator3.calculation3(6, 7)
# Choose wich Class to run
def main():
choice = input("Enter 2 to run Q2 class for same result, 3 to run Q3 class for different result: ")
if choice == '2':
print('Here is the sample task for Question 2:')
calculator2 = Same_StepOverStepInto_Result()
calculator2.calculation2(6, 7)
elif choice == '3':
print('Here is the sample task for Question 3:')
calculator3 = Diff_StepOverStepInto_Result()
calculator3.calculation3(6, 7)
else:
print("Please only choose between 2 and 3")
if __name__ == "__main__":
main()