HW7 with py, testpy, and two txt
This commit is contained in:
@@ -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()
|
||||
Reference in New Issue
Block a user