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