input_month = input()
input_day = int(input())
months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
if (input_month in 'March') and (20 < input_day <= 31):
print ('Spring')
if (input_month in 'April') and (1 <= input_day <= 30):
print ('Spring')
if (input_month in 'May') and (1 <= input_day <= 31):
print ('Spring')
if (input_month in 'June') and (1 <= input_day <= 20):
print ('Spring')
if (input_month in 'June') and (20 < input_day <= 30):
print ('Summer')
if (input_month in 'July') and (1 <= input_day <= 31):
print ('Summer')
if (input_month in 'August') and (1 <= input_day <= 31):
print ('Summer')
if (input_month in 'September') and (1 <= input_day < 21):
print ('Summer')
if (input_month in 'September') and (21 <= input_day <= 30):
print ('Autumn')
if (input_month in 'October') and (1 <= input_day <= 31):
print ('Autumn')
if (input_month in 'November') and (1 <= input_day <= 30):
print ('Autumn')
if (input_month in 'December') and (1 <= input_day < 21):
print ('Autumn')
if (input_month in 'December') and (21 <= input_day <= 31):
print ('Winter')
if (input_month in 'January') and (1 <= input_day <= 31):
print ('Winter')
if (input_month in 'February') and (1 <= input_day <= 29):
print ('Winter')
if (input_month in 'March') and (1 <= input_day < 20):
print ('Winter')
else:
print('Invalid')
For most months and day it works, but I am getting: April 11 'Spring' (which is correct) but also getting 'Invalid' and not sure why I am getting both June 21 'Summer' (which is correct) but also getting 'Invalid' and not sure why I am getting both November 7 'Autumn' (which is correct) but also getting 'Invalid' and not sure why I am getting both
I just don't understand why this is... could someone please help me understand my errors. Thank you
inwith==.inmight be somewhat appropriate because it supports abbreviations, albeit not case sensitive. Maybestartswithis better.