I am a noob CS student trying to get a program running using if/else and while for. I am using the debugger and stepping through the code. I can see that my “current_min” starts at 0 by default and doesn’t change. I know I should grab the user input to define max/min, but when I try to put it in the for loop, it overwrites the max/min exiting with the max and min being the same number. With the current code it works, so long as there is a number less than 0 that goes in. What would be the best course of action here?
# python 3.7 current_max = int() current_min = current_max print("How many integers would you like to enter?") number_of_ints = int(input()) # number of integers user would like to compare print("Please enter " + str(number_of_ints) + " integers") # requesting x integers based on user input on previous line for numints in range(number_of_ints): number = int(input()) if number > current_max: current_max = number elif number < current_min: current_min = number print("min: ", current_min) print("max: ", current_max)
Advertisement
Answer
The only issue here is that you initialize your current_min
and current_max
to 0. The loop will thus check against 0 and only update the values if it is less than (or greater than) 0.
To fix, you should set your current_min
and current_max
to the first value that the user provides:
number = int(input()) current_min = number current_max = number for numints in range(numints-1): # your logic from above.