Complicating a simple expression Coding Exercise: Complication
Assume that the grader defines two variables A and B for you. Write a program which prints out the value min(A, B) However, there is a catch: your program is not allowed to use the min function. Instead, use max in a clever way to simulate min. Hint, Method 1 What is max(-A, -B)? Hint, Method 2 What is min(A, B)+max(A, B)? -------------------------------------- Code that gave best results but didn't work for negative numbers... -------------------------------------- Original = abs(max (-A, -B)) print (Original) -------------------------------------- Did not pass tests. Please check details below and try again. Results for test case 1 out of 5 Before running your code: We defined A equal to 35 and B equal to 45. Program executed without crashing. Program gave the following correct output: 35 Results for test case 2 out of 5 Before running your code: We defined A equal to 65 and B equal to 20. Program executed without crashing. Program gave the following correct output: 20 Results for test case 3 out of 5 Before running your code: We defined A equal to 48 and B equal to 63. Program executed without crashing. Program gave the following correct output: 48 Results for test case 4 out of 5 Before running your code: We defined A equal to 0 and B equal to 70. Program executed without crashing. Program gave the following correct output: 0 Results for test case 5 out of 5 Before running your code: We defined A equal to -64 and B equal to 0. Program executed without crashing. Program output: 64 Expected this correct output: -64 Result of grading: Your output is not correct. Spreadsheet examples: A B Min(A, B) Max(-A,- B) 10 5 5 - 5 5 10 5 - 5 9 12 9 - 9 12 9 9 - 9 22 37 22 - 22 37 22 22 - 22 45 68 45 - 45 68 45 45 - 45 - 6 15 - 6 6 -15 6 - 15 15 -80 - 65 - 80 80 -65 - 80 - 80 80 44 -102 -102 102 -44 102 - 44 44 CS Assistant2 stated: Using the absolute value of the numbers will cause problems with this solution because sometimes the answer should be a negative number. However, when you calculate the absolute value of a number, that result will always be larger than any negative number. I would suggest you go back to your original table, but include some values for A and B that are negative numbers (A is negative, B is negative, A and B are both negative). See what numbers you get for min(A, B) and max(-A, -B) in those cases. Think about ways, other than absolute value, that will allow you to convert a negative number to a positive number and vice versa. I hope this helps. Sandy CS Assistant1 stated: Hi, Gathering this much data is a very good start! The two hints give two different approaches. So let me highlight the 4 most relevant columns: A B Min(A, B) Max(-A,- B) 10 5 5 -5 5 10 5 -5 9 12 9 -9 12 9 9 -9 22 37 22 -22 37 22 22 -22 45 68 45 -45 68 45 45 -45 What's the relationship between min(a, b), which you want but can't directly call, and max(-a, -b), which you can compute? Feel free to ask if another hint would help. Best, - Dave _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor