You're given a day of the week encoded as 1=Mon, 2=Tue, ... 6=Sat, 7=Sun, and whether you are on vacation as a boolean value (a boolean object is either True or False. Google "booleans python" to get a better understanding). Based on the day and whether you're on vacation, write a function that returns a time in form of a string indicating when the alarm clock should ring.
When not on a vacation, on weekdays, the alarm should ring at "7:00" and on the weekends (Saturday and Sunday) it should ring at "10:00".
While on a vacation, it should ring at "10:00" on weekdays. On vacation, it should not ring on weekends, that is, it should return "off".
----------------------------------------------------------------------
Input:
The input will be a list of two elements. The first element will be an integer from 1 to 7, and the second element will be a boolean value.
Output:
The output will be a string denoting the time alarm will ring or 'off'
----------------------------------------------------------------------
Sample input:
[7, True]
Sample output:
off
----------------------------------------------------------------------
Sample input:
[3, True]
Sample output:
10:00
----------------------------------------------------------------------
Solution
#Take input here
#we will take input using ast sys
import ast
input_str = input()
#ast.literal_eval() will evaluate the string and make a data structure for the same
#here the input is a list since input is in '[...]', so ast.literal_eval() will
#make a list with the same data as passed
input_list = ast.literal_eval(input_str)
#the data or the two values in list is now changed to separate variables
day_of_the_week = input_list[0] #first element is an integer denoting the day of the week
is_on_vacation = input_list[1] #this is a boolean denoting if its vacation or not
# write your code here
#we will solve this using a function that returns a string
#later we will just print the string
def alarm_time(day_of_the_week, is_on_vacation):
weekend = [6,7] #encoding of weekend days sat and sun are 6 and 7
if is_on_vacation:
if day_of_the_week not in weekend:
return '10:00'
else: #its weekend
return 'off'
else:
if day_of_the_week not in weekend:
return '7:00'
else: #its weekend
return '10:00'
#end of function
#print the result
print(alarm_time(day_of_the_week, is_on_vacation))