+ 2
Did I break the Boolean Logic 2 exam?
The code I used gets the expected results, but isnât registering as a pass. What am I missing? Question Summary: If hour is between 10 and 21 AND day is between 1 and 5 then print Open, if not then print Closed. hour = int(input()) day = int(input()) if hour >= 10 and hour <= 21: if day >= 1 and day <= 5: print ("Open") else: print("Closed") Edit: I ran more tests, it consistently prints Open, but it doesnât consistently print Closed. Any clues as to why?
7 Answers
+ 4
Oh, lol well you could just chain your conditions together like;
if (hour >= 10 and hour <= 21) and (day >= 1 and day <= 5):
Or better yet;
if 10 <= hour <= 21 and 1 <= day <= 5:
+ 4
It will only print Closed if the hour is 10-21 and the day is not 1-5. If hour is outside the range 10-21, there is no output.
+ 4
Try using the range() function and placing the checks for both the hour and the day in the same if statement.
if hour in range(10, 22) and day in range(1, 6):
...
else:
...
+ 3
That totally worked, thank you! But now I really broke it because the range() function hasnât been taught yet, lol!
+ 3
You can keep a check variable and use it to know if conditions evaluated to true.
check=0 #by default
if hour >= 10 and hour <= 21:
if day >= 1 and day <= 5:
check=1
now after both if statement you can check if check==1 or not and print open, closed accordingly.
+ 2
Thank you! I suspect itâs because the âClosedâ is only a statement of the IF contained on the âhoursâ stanza. I need to somehow place an Else that catches if no parametrs are matched. Sorry if i used the wrong terminology.
+ 2
Awesome, thatâs reassuring beause my first attempt looked similar to the first option you listed, but I was missing something. Iâm grateful for the helpful advice!