I am currently working on a small project that will take a user input such as "50", and convert it to a float while also placing the decimal to the left, such as "0.50" - This part I have working the way I want, but the issue I am having now that I cant seem to solve is checking if that value is between two other float values. Here is what I have so far.
value = float(input("Enter number: "))
value /= 100
if 0.61 <= value <= 69:
value = value - 0.049 # don't worry about this part
elif 0.70 <= value <= 79:
value = value - 0.10 # don't worry about this part
"""
if value >= 0.61:
value = value - 0.049
if value >= 0.70:
value = value - 1.5
"""
When I enter anything above 69, such as 70 or 71 and so on. The program does not seem to realize that I am trying to adjust the value differently compared to as if the input was 65, the program understands what to do just fine. At the bottom is something else I have tried but not getting any luck.
Am I using elif wrong? Why am I unable to get my second if statement to read properly? Or is there a function or something else out there that will let me check if the value is between two float ranges?
I appreciate the efforts.
CodePudding user response:
welcome to SO.
EDIT: Solution that should fit with your comment.
value = float(input("Input a number"))
if value >= 0.61 and value <= 0.69:
#whatever should happen here
elif value >= 0.70 and value <= 0.79:
#whatever you want to happen here
Do you really need to divide the value by 100, if so then you will never get into the second loop exclusively because the first if statement will be executed when your value is between 0.69 and 69
which is any value it can be if you divide it by 100, therefore it will never go into the second if statement.
If you do want to keep the /100 but execute BOTH statements then you can do it simply by changing the elif
into and if
so it also gets executed if the statement is true. This will execute BOTH if statements though.
value = float(input("Input a number"))
value /= 100
if value >= 0.61 and value <= 69:
#whatever should happen here
if value >= 0.70 and value <= 79:
#whatever you want to happen here
This way if the value entered is 70
the outcome will be that both if statements will be executed.
If you can omit the /100 then this code here works and only executes ONE if statement.
value = float(input("Input a number"))
if value >= 61 and value <= 69:
#whatever should happen here
elif value >= 70 and value <= 79:
#whatever you want to happen here