Source Code
Source Code
SOURCE CODE
import re
registrations = []
return name.strip().title()
def validate_dob(dob_str):
try:
today = datetime.today()
except ValueError:
def validate_email(email):
pattern = r'^[\w\.-]+@[\w\.-]+\.\w{2,3}$'
return email.strip()
22
def validate_mobile(mobile):
return mobile.strip()
def validate_gender(gender):
gender = gender.strip().lower()
return 'Male'
return 'Female'
return 'Other'
else:
raise ValueError(" Gender must be Male (m), Female (f), or Other (o).")
def validate_category(category):
category = category.strip().lower()
category_map = {
'g': 'GENERAL',
'general': 'GENERAL',
'o': 'OBC',
'obc': 'OBC',
's': 'SC',
'sc': 'SC',
't': 'ST',
'st': 'ST',
'e': 'EWS',
23
'ews': 'EWS'
if category in category_map:
return category_map[category]
else:
raise ValueError(" Category must be: General (g), OBC (o), SC (s), ST (t), or EWS (e).")
def register_candidate():
while True:
try:
break
except ValueError as e:
print(e)
while True:
try:
break
except ValueError as e:
print(e)
while True:
try:
24
break
except ValueError as e:
print(e)
while True:
try:
break
except ValueError as e:
print(e)
while True:
try:
break
except ValueError as e:
print(e)
while True:
try:
break
except ValueError as e:
print(e)
while True:
try:
break
except ValueError as e:
print(e)
while True:
try:
break
except ValueError as e:
print(e)
candidate = {
"Name": name,
"Father": father,
"Mother": mother,
"DOB": dob_str,
"Age": age,
"Gender": gender,
"Category": category,
"Email": email,
"Mobile": mobile,
"Address": address
registrations.append(candidate)
print_registration_slip(candidate)
26
def print_registration_slip(data):
print(f"{key}: {value}")
print("------------------------------")
def view_all():
if not registrations:
return
print(f"\nCandidate {i}:")
for k, v in reg.items():
print(f"{k}: {v}")
def search_by_name():
found = False
if reg["Name"] == name:
print_registration_slip(reg)
found = True
if not found:
def admin_login():
return True
else:
return False
def main_menu():
if not admin_login():
return
while True:
print("4. Exit")
print("============================================")
if choice == '1':
register_candidate()
view_all()
search_by_name()
break
else:
if __name__ == "__main__":
main_menu()
29
OUTPUT
Admin Login
Login successful.
4. Exit
============================================
Registration Successful!
DOB: 29-11-2007
Age: -18
Gender: Male
Category: GENERAL
Email: [email protected]
Mobile: 8800647260
------------------------------
4. Exit
============================================
Candidate 1:
DOB: 29-11-2207
Age: -183
Gender: Male
Category: GENERAL
Email: [email protected]
Mobile: 8800647260
4. Exit
============================================
DOB: 29-11-2207
Age: -183
Gender: Male
Category: GENERAL
Email: [email protected]
Mobile: 8800647260
------------------------------
4. Exit
============================================