0

I'm just starting out with learning Python. I can't see why the code isn't working. This code is working inconsistently. It works for March : for example, if I input a date like March 12 it prints 'Winter'. If I input March 34 it will print "invalid" (as it should). For some months and dates there's no output whatsoever.

input_month = input()
input_day = int(input())
month_list = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']

''' Type your code here. '''
if input_month in month_list:
    if input_month == 'March':
        if (input_day >= 20) and (input_day <= 31):
            print('Spring')
        elif input_day >=1 and input_day <= 19:
            print('Winter')
        else:
            print('Invalid')
    elif input_month == 'April':
        if input_day >= 1 and input_day <= 30:
            print('Spring')
        else:
            print('Invalid')
    elif input_month == 'May':
        if input_day >=1 and input_day <= 31:
            print('Spring')
        else:
            print('Invalid')
    elif input_month == 'June':
        if input_day >=1 and input_day <= 20:
            print('Spring')
        elif input_day >= 21 and input_day <= 30:
            print('Summer')
        else:
            print('Invalid')
    elif input_month == 'July' or 'August' or 'September' or 'October' or 'November':
        if input_month == 'July':
            if input_day >= 1 and input_day <= 31:
                print('Summer')
            else:
                print('Invalid')
        elif input_month == 'August':
            if input_day >= 1 and input_day <= 31:
                print('Summer')
            else:
                print('Invalid')
        elif input_month == 'September':
            if input_day >= 1 and input_day <= 21:
                print('Summer')
            elif input_day >= 22 and input_day <= 30:
                print('Autumn')
            else:
                print('Invalid')
        elif input_month == 'October':
            if input_day >= 1 and input_day <= 31:
                print('Autumn')
            else:
                print('Invalid')
        elif input_month == 'November':
            if input_day >=1 and input_day <= 30:
                print('Autumn')
            else:
                print('Invalid')
    elif input_month == 'December' or 'January' or 'February':
        if input_month == 'December':
            if input_day >=1 and input_day <= 20:
                print('Autumn')
            elif input_day >=21 and input_day <= 31:
                print('Winter')
            else:
                print('Invalid')
        elif input_month == 'January':
            if input_day >=1 and input_day <= 31:
                print('Winter')
            else:
                print('Invalid')
        elif input_month == 'February':
            if input_day >=1 and input_day <= 28:
                print('Winter')
            else:
                print('Invalid')
else:
    print('Invalid')
            
            
            

I've tried surrounding the equality checks with parentheses and that makes no difference

skysthelimit91
  • 103
  • 1
  • 3
  • 11

0 Answers0