A simple validation routine.

★☆☆

Online forms will check that an input is valid before sending data to a server. For example, when entering an expiry date for a debit card, the month must be between 1 and 12 to be accepted. Doing the basic checks at the client side reduces traffic to and load on the server side.

Valid month

Make

Write a program that keeps asking the user to enter the month until a valid month has been entered. Valid months are 1-12.

Success Criteria

Remember to add a comment before a subprogram, selection or iteration statement to explain its purpose.

Complete the subprogram called validate_month so that it:

  1. Returns True if the month is greater than or equal to one and less than or equal to twelve.
  2. Returns False in all other cases.

Complete the main program so that:

  1. The user can input the month as an integer.
  2. The user is prompted again until they give a valid number within the range one to twelve.
  3. When a valid input is given the program outputs a confirmation message.

Typical inputs and outputs from the program would be:

Enter a month 1-12: 5
Thank you. Input accepted
Enter a month 1-12: -8
Enter a month 1-12: 0
Enter a month 1-12: 13
Enter a month 1-12: 99
Enter a month 1-12: 3
Thank you. Input accepted.
🆘 If you're really stuck, use this Parsons code sorting exercise
Complete program
# Valid month program

# -------------------------
# Subprograms
# -------------------------
# Check the month is a valid number
---
def validate_month(month):
---
    # Must be between 1 and 12
    if (month >= 1) and (month <= 12):
---
        return True
---
    else:
---
        return False
---


# -------------------------
# Main program
# -------------------------
---
valid_month = False
---
while not valid_month:
---
    month = int(input("Enter a month 1-12: "))
---
    valid_month = validate_month(month)
---
print("Thank you. Input accepted.")