Issue
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)
Solution
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.
Answered By - Andrej Prsa
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.