Answer to Question #259707 in Python for Sai

Question #259707

Given the weekday of the first day of the month, determine the day of the week of the given date in that month

1
Expert's answer
2021-11-02T13:08:34-0400
number_to_day = dict(
    [[1, 'Monday'],
     [2, 'Tuesday'],
     [3, 'Wednesday'],
     [4, 'Thursday'],
     [5, 'Friday'],
     [6, 'Saturday'],
     [7, 'Sunday']])

day_to_number = dict(zip(number_to_day.values(), number_to_day.keys()))


def determine_day_by_number(start_day: str, month_day_number: int):
    if start_day not in number_to_day.values():
        print('Wrong day name')
        exit()

    start_day_number = day_to_number[start_day]
    shift = month_day_number - 1
    if start_day_number + shift > 7:
        number_of_full_weeks = shift // 7
        shift -= 7 * number_of_full_weeks
    shift = shift if not start_day_number + shift > 7 else shift - 7
    number_of_required_day = start_day_number + shift

    return number_to_day[number_of_required_day]


def main():
    start_day = input('Enter start day: ')
    month_day_number = int(input('Enter month day number: '))

    day = determine_day_by_number(start_day, month_day_number)
    print(day)


if __name__ == '__main__':
    main()

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog